Ciao ragazzi,
premetto che sono alle basi con il c++ e non conosco ancora tutti i termini specifici e via discorrendo, perciò vi prego di non usare un linguaggio troppo scientifico nelle risposte
Detto questo, ecco il mio problema: per casa il prof ci ha assegnato il seguente esercizio:
Far inserire all'utente 8 squadre con i relativi punteggi in campionato, ordinarle e visualizzare la classifica.
A scuola non siamo riusciti a risolverlo perché mancava qualcosa che il professore non ci ha saputo spiegare (-.-) così me lo son risolto a casa per fatti miei cercando in internet qualcosa per risolvere il problema (ci aveva fatto dichiarare il vettore stringa come char invece che string) ma ancora non sono riuscito a completarlo, infatti il programma parte, riesco ad inserire squadre e punteggi poi si blocca.
Ecco il codice:
[spoiler]
codice:
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
string squadre[8];
string app1[1];
int punti[8], i, app, interr;
for(i=0;i<8;i++) {
printf("Inserisci la %da squadra: ", i+1);
scanf("%s", &squadre[i]);
printf("Inserisci il suo punteggio: ");
scanf("%d", &punti[i]);
}
do {
interr = 0;
for(i=0;i<8;i++) {
if (punti[i]<punti[i+1]) {
app = punti[i];
punti[i] = punti[i+1];
punti[i+1] = app;
app1[0] = squadre[i];
squadre[i] = squadre[i+1];
squadre[i+1] = app1[0];
interr=1;
}
}
}
while(interr==1);
printf("Ecco la classifica: ");
for(i=0;i<8;i++) {
printf("\n%d %s %d", i+1, squadre[i], punti[i]);
}
getchar();getchar();
return 0;
}
[/spoiler]
e questo è l'errore che viene fuori al rigo 35 (il printf finale, nel for):
codice:
35 C:\Users\Utente\Desktop\c++\esercizio con vettore stringa\main.cpp [Warning] cannot pass objects of non-POD type `struct std::string' through `...'; call will abort at runtime
Da quel che so e che posso penasre credo sia sbagliato il modo di stampare il vettore squadre ma non ne son sicuro. Qualcuno può aiutarmi? :bai