[C++] Problema con un programma

di il
6 risposte

[C++] Problema con un programma

Ciao a tutti sono nuovo su questo forum lo ho trovato girando su internet mentre cercavo una soluzione per un problema che ho durante la risoluzione di una specifica di informatica

Questa è la specifica del programma
Scrivere un programma che legge un intero N seguito da N coppie: squadra (stringa di caratteri costituita da una sola parola), punteggio (numero intero), e da un carattere ch, e che determina se tutte le squadre con il punteggio massimo hanno un nome che inizia con il carattere ch. Si assuma che N sia minore o uguale a 50 e che i nomi di squadra siano lunghi al più 20 caratteri. Procedere nel modo seguente:

usare preferibilmente un sottoprogramma di tipo procedura che svolge il seguente compito:
riceve come parametri una lista di coppie (squadra,punteggio) e restituisce, sempre attraverso un parametro di scambio, il massimo punteggio presente nella lista


io ho buttato giù un codice è credo che tutto vada bene tranne una cosa come faccio a comparare ch con il nome della squadra ho provato ad usare strcmp ma il compilatore mi da errore

vi lascio il codice grazie in anticipo per l ' aiuto

#include <iostream>
#include <string.h>
#define MAX 50
#define MAXLE 20
using namespace std;
typedef char tipoparola [MAXLE+1];
typedef struct{
	tipoparola squadra;
	int punteggio;
}team;
void max(team squadrone[],int& maxi,int n);
int main(){
int n,i,ris,c,a;
team squadrone[MAX];
char ch;
cin>>n;
cin>>ch;
for (i=0; n>i; i++){
	cin>>squadrone[i].squadra;
	cin>>squadrone[i].punteggio;	
}
c=0;
a=0;
max(squadrone,ris,n);
for (i=0; n>i; i++){
	if(ris==squadrone[i].punteggio)
	c++;	
	if(squadrone[i].squadra==ch)
	a++;
}
	
	
     if (c==a)
     cout<<"ok";
     else
     cout<<"non ok";
}
void max(team squadrone[],int& maxi,int n){
	int i;
	maxi=squadrone[i].punteggio;
	for (i=1; n>i; i++){
	 if(maxi<squadrone[i].punteggio)
	  maxi=squadrone[i].punteggio;}
	
}

6 Risposte

  • Re: [C++] Problema con un programma

    Hai provato come? Quale errore?
  • Re: [C++] Problema con un programma

    Ci stavo pensando ancora e credo di aver trovato una soluzione se nel penultimo if praticamente quello sopra a++; metto come condizione (squadrone.squadra[0]==ch) dovrebbe fumzionare tutto
  • Re: [C++] Problema con un programma

    No, così confronti solamente il primo carattere della stringa.

    E poi se usi

    char ch;
    cin>>ch;

    potrai inserire un solo carattere valido non una stringa ...
  • Re: [C++] Problema con un programma

    La specifica questo vuole pero visto che ho poca familiarità con le struct mi è venuta in mente solo ora questa cosa. Grazie comunque dell aiuto:)
  • Re: [C++] Problema con un programma

    Se devi lavorare con l'iniziale della squadra allora va bene.

    Funziona o ci sono altri problemi?
  • Re: [C++] Problema con un programma

    Funziona
Devi accedere o registrarti per scrivere nel forum
6 risposte