J'ai une affectation où je dois taper la quantité de noms que je veux comparer. Ensuite, je dois voir si le prénom imprimé est répété dans les noms que j'ai imprimés. Par exemple si je mets 5 Reagan, Bush, Reagan, Bush, Clinton il imprimera "Le prénom a été répété" mais si je mets Davis pour l'un ou l'autre des Reagans il dirait non. J'ai essayé une boucle for et si des déclarations mais je n'arrive pas à trouver la bonne sortie. J'utilise Dev C++ et voici ce que j'ai jusqu'ici.Chaînes: Recherche si le premier mot est répété en utilisant strcmp
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char curname[30], firstname[30];
int num, i, freq = 1;
printf("How many names do you want to enter?\n");
scanf("%d", &num);
printf("What is the first name?");
scanf("%s", firstname);
printf("Enter each of their names.\n");
for (i=0; i<num; i++) {
scanf("%s", curname);
if (i==0) {
strcmp(curname, firstname) != 0;
printf("The first name in the list was repeated.\n");
}
else if (strcmp(curname, firstname) == 1)
printf("The first name in the list was not repeated.\n");
}
system("pause");
return 0;
}
Cette ligne semble suspecte 'if (i == 0) {' car cela signifiera que la comparaison ne sera exécutée que pour le prénom entré. – miltonb
Bienvenue dans Stack Overflow. Veuillez lire la page [About] bientôt. Vous avez étiqueté cette question avec C++, mais le code que vous montrez n'utilise aucune caractéristique distinctive de C++ et pourrait parfaitement être étiqueté comme C. À première vue, il semblerait que votre code ne compilera pas; c'est toujours un problème sérieux. Quoi qu'il en soit, il compile - mais votre placement des accolades étroites est très confus. Celui après le dernier 'printf()' termine réellement la boucle 'for'. S'il vous plaît aller et apprendre une disposition standard - style Allman ou l'OTBS (One True Brace Style). Vous pouvez rechercher ceux facilement. –
@kaitlyn - J'ai édité votre mise en page, j'espère que vous pouvez voir ce que Jonathan fait remarquer au sujet de la mise en page. Une meilleure disposition évite les problèmes de logique. – miltonb