1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Was stimmt hier in meinem C programm nicht?

  • Sed
  • 4. März 2011 um 21:04
  • Unerledigt
  • Sed
    2
    Sed
    Mitglied
    Punkte
    25
    Beiträge
    4
    • 4. März 2011 um 21:04
    • #1

    Hi
    was stimmt hier nicht, dass PellesC schreibt:
    warning #2234: Argument 2 to 'printf' does not match the format string; expected 'int' but found 'double'. Ich hab viel versucht aber nichts hat geholfen :frowning_face:
    bitte helft mir
    Hier der Quelltext des Programms

    Zitat

    #include <stdio.h>
    #include <math.h>
    #include <ctype.h>

    int main (void)
    {
    int ankathete, gegenkathete;
    char winkel;
    float alpha, beta;

    printf("=== Berechnungen im rechtwinkeligen Dreieck ===\n");
    printf("Laenge der Gegenkathete = ");
    scanf("%i", &gegenkathete);
    printf("Laenge der Ankathete = ");
    scanf("%i", &ankathete);
    printf("\n");


    switch(winkel)
    {
    case'a':
    alpha==acos(gegenkathete/ankathete);
    printf("Flaeche = %i\n",alpha);
    break;

    }


    printf("\n");
    }

    Alles anzeigen
  • Zaru
    8
    Zaru
    Mitglied
    Reaktionen
    12
    Punkte
    592
    Beiträge
    116
    • 4. März 2011 um 21:07
    • #2

    Mein C ist wackelig, aber erwartet %i nicht einen Integer?
    alpha ist aber ein float

  • polymorph10
    5
    polymorph10
    Mitglied
    Reaktionen
    20
    Punkte
    270
    Beiträge
    50
    • 4. März 2011 um 21:15
    • #3

    Zaru hat recht, du benötigst %f (http://www.cplusplus.com/reference/clibrary/cstdio/printf/)

  • Sed
    2
    Sed
    Mitglied
    Punkte
    25
    Beiträge
    4
    • 4. März 2011 um 22:06
    • #4

    ah danke, jetzt klappts zwar ohne fehler, aber ich bekomm kein ergebnis
    wo muss ich den tastaturpuffer hinsetzen?

  • sutupud
    13
    sutupud
    Mitglied
    Reaktionen
    59
    Punkte
    1.659
    Beiträge
    320
    • 4. März 2011 um 22:08
    • #5

    da gibt's schon noch mehr probleme:

    PHP
    #include <stdio.h>
    #include <math.h>
    #include <ctype.h>
    
    
    int main (void)
    {
    	int ankathete, gegenkathete;
    	char winkel;
    	float alpha, beta;
    
    
    	printf("=== Berechnungen im rechtwinkeligen Dreieck ===\n");
    	printf("Laenge der Gegenkathete = ");
    	scanf("%i", &gegenkathete);
    	printf("Laenge der Ankathete = ");
    	scanf("%i", &ankathete);
    	printf("\n");
    
    
    
    
    	switch(winkel) // wo kommt winkel her?
    	{
    		case'a':
    		alpha==acos(gegenkathete/ankathete); /*
    			'==' führt einen vergleich aus, keine zuweisung!
    			außerdem sind gegenkathete und ankathete beides int, das resultat
    			der division ist deshalb auch ein int.
    			stichwort: integerdivision
    			du bekommst also ein falsches ergebnis...
    			*/
    		printf("Flaeche = %i\n",alpha); // fläche?
    		break;
    		// und sonst was?
    	}
    
    
    
    
    printf("\n");
    }
    Alles anzeigen

    na gut, das programm ist scheinbar noch nicht fertig, aber dennoch...

    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."

    &#128513;&#128514;&#128515;&#128516;&#128517;&#128518;&#128519;&#128520;&#128521;&#128522;&#128523;&#128524;&#128525;&#128526;&#128527;&#128528;&#128530;&#128531;&#128532;&#128534;&#128536;&#128538;&#128540;&#128542;&#128544;&#128545;&#128546;&#128547;&#128549;&#128552;&#128553;&#128554;&#128555;&#128557;&#128560;&#128561;&#128562;&#128563;&#128565;&#128566;&#128567;

  • pernhard
    11
    pernhard
    Mitglied
    Reaktionen
    14
    Punkte
    1.269
    Beiträge
    244
    • 5. März 2011 um 07:29
    • #6

    Zunächst einmal täte es sehr helfen, wenn Du schreibst, was Dein Programme machen soll :)

    Und zweiten: "acos" in Zeile 22 ist undefiniert.

    I used to be an owl...

    881 :rock:

  • damike
    8
    damike
    Mitglied
    Reaktionen
    11
    Punkte
    681
    Beiträge
    111
    • 5. März 2011 um 08:40
    • #7

    pernhard: -lm bei gcc

  • Sed
    2
    Sed
    Mitglied
    Punkte
    25
    Beiträge
    4
    • 5. März 2011 um 09:45
    • #8

    Das Programm sollte alle winkel eines dreiecks berechnen wenn man die gegenkathete und die ankathete eingibt.
    Es ist noch nicht fertig, aber wenn ich Alpha berechnen kann, kann ich die anderen 2 auch berechnen
    bei printf("Fläche = %i\n", alpha); ist dieses Fläche= noch von einem anderen programm...
    Außerdem bin ich jetzt darauf gekommen, dass ich statt acos atan nehmen muss :grinning_squinting_face:
    Leider liefert mir das programm immer noch keine lösung für alpha

  • pernhard
    11
    pernhard
    Mitglied
    Reaktionen
    14
    Punkte
    1.269
    Beiträge
    244
    • 5. März 2011 um 09:46
    • #9
    Zitat von damike

    pernhard: -lm bei gcc



    thx!

    (Ich weiß jetzt aber nicht, ob das so guter stil ist :)

    was das programm machen soll, ist aber immer noch nicht spezifiziert - das wär sehr hilfreich.

    derzeit fragt der OP ja "winkel" nie ab, und in den switch statement wär eine default: clause nicht schlecht.

    I used to be an owl...

    881 :rock:

  • gelbasack
    25
    gelbasack
    Mitglied
    Reaktionen
    90
    Punkte
    6.525
    Beiträge
    1.241
    • 5. März 2011 um 11:17
    • #10
    Zitat von pernhard

    thx!

    (Ich weiß jetzt aber nicht, ob das so guter stil ist :)

    Eine Library dazuzulinken? Man kann ja nicht alles selbst neu schreiben... das ist gar kein Stil, das gehört einfach so.

  • Sed
    2
    Sed
    Mitglied
    Punkte
    25
    Beiträge
    4
    • 5. März 2011 um 12:47
    • #11

    das program sollte wenn man die Ankathete und die Gegenkathete eingibt
    alle winkel des Dreiecks berechnen

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung