c code hilfe



  • hallo,

    kann mir jemand freundlicherweise bei der Erstellung eines c-programmes behilflich sein.

    Aufgabe:Drei Kandidaten beteiligen sich an einem Gesangswettbewerb.
    **
    Namen der 3 Kandidaten eintippen

    Jeder Kandidat erhält eine unterschiedliche Note (die nicht gleich sein darf)

    Den Sieger anzeigen mit seiner erhaltenen Note.**

    Ich leider noch nicht den for, do-while klar.Habe bisher folgendes gemacht:

    #include <stdio.h>
    #include <string.h>

    main()
    {
    int a,b,c;
    char name_1, name_2, name_3;
    {
    printf("Ersten Kandidaten eintippen: ");
    scanf("%c" ,&name_1);

    printf("Note von 1 bis 3 vergeben: ");
    scanf("%d" ,&a);
    }
    {
    printf("Zweiten Kandidaten eintippen: ");
    scanf("%c" ,&name_2);

    printf("note von 1 bis 3 vergeben: ");
    scanf("%d" ,&b);
    }
    {
    printf("Dritten Kandidaten eintippen:: ");
    scanf("%c" ,&name_3);

    printf("note von 1 bis 3 vergeben:: ");
    scanf("%d" ,&c);
    }

    if (a > b)
    if (a > c)
    printf("\n %d",a);
    else
    printf("\n %d",c);
    else
    if (b > c)
    printf("\n %d",b);
    else
    printf("\n %d",c);

    return 0;
    }

    Also bin wirklich ein Anfänger und bin für jede Hilfe wirklich dankbar. Vielleicht hat jemand eine bessere Idee wie man das noch küzer machen kann.Wie ich das gemacht habe unktioniert das nicht.
    Danke im voraus
    brasi



  • brasi schrieb:

    hallo,

    Ich leider noch nicht den for, do-while klar.

    ???

    Code tags benutzen!

    brasi schrieb:

    #include <stdio.h>
    #include <string.h>
    
    main()
    {
    int a,b,c;
    char name_1, name_2, name_3;
    {
    printf("Ersten Kandidaten eintippen: ");
    scanf("%c" ,&name_1);
    
    printf("Note von 1 bis 3 vergeben: ");
    scanf("%d" ,&a);
    }
    {
    printf("Zweiten Kandidaten eintippen: ");
    scanf("%c" ,&name_2);
    
    printf("note von 1 bis 3 vergeben: ");
    scanf("%d" ,&b);
    }
    {
    printf("Dritten Kandidaten eintippen:: ");
    scanf("%c" ,&name_3);
    
    printf("note von 1 bis 3 vergeben:: ");
    scanf("%d" ,&c);
    }
    
    if (a > b)
            if (a > c)
                            printf("\n %d",a);
            else                          
                            printf("\n %d",c);
    else      
            if (b > c)
                    printf("\n %d",b);
            else                          
                    printf("\n %d",c);
    	
    	return 0;
    }
    

    benutze arrays um kandidaten und noten zu speichern und lese diese in einer for schleife ein!

    bis jetzt können dein Kandidaten nur ein buchstbige namen haben.
    => char* oder std::string bentutzen!

    Ich bewusst keine ausfürhliche Erklärungen dazugefügt. Du musst dich einfach mal in die von mir genannten schlagworte einlesen! Bei fragen: Frag!

    Gruß



  • hallo megaweber,
    danke für die schnelle antwort. habe jetzt erst einmal die namen hinbekommen.allerdings bekomme ich eine warnmeldung bezüglich gets (dangerous)

    wie kann ich die verbindung zu den platzierungen mit den arrays hinbekommen?

    main()
    {
    int a,b,c;
    char nome1[1],nome2[2],nome3[3];
    
    printf("Digite o nome do primeiro candidato: ");
    gets (nome1);
    
    printf("Digite o nome do segundo candidato: ");
    gets (nome2);
    
    printf("Digite o nome do terceiro candidato: ");
    gets (nome3);
    

    gruss



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • leider bestehen deine namen immer noch aus einem buchstaben.

    sinnvoll wäre es wohl die daten in ein struct zu packen

    struct ElNamo
    {
    char name[256];
    int Bewertung;
    }:
    
    ElNamo kandidaten[3];
    

    ps: Warum schreibst du jetzt spanisch, ode was auch immer das für eine sprache ist 😉


Anmelden zum Antworten