Evizienter programmieren



  • unfug, hat doch grad noch....
    und jetzt immernoch!

    und nein, eine void main() ist nicht gern gesehen und vom standard her verboten.



  • dann mach halt

    int main()
    {
     return 0;
    }
    

    Aber das hat ja nun nicht so ganz was mit dem thema zu tun 😉



  • Kann mal schnell wer meinen Quellcode so editieren das es funzt?



  • verschieb deine rahmenfunktion einfach vor die main() und nicht in die main.



  • void Rahmen(); 
    
    int main()
    {
        int w = 1;
        char x, y;
     //Rand-Zeichen
        float a, b, Ergebniss,ZErgebniss,ZErgebniss2;
        double c, d;
    
        while(w != 0)
        {
    
        Rahmen();   
    
        clrscr();
        textbackground(CYAN);
        textcolor(RED);
        }
    }
    
    void Rahmen()
    {
        int Rahmen;
        char r1=201,r2=205,r3=187,r4=186,r5=200,r6=188,r7=175,r8=174,r9=204,r10=185;
            clrscr();
        gotoxy(25,1);
        cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",r1,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r3);
        gotoxy(25,2);
          for (Rahmen = 2; Rahmen <= 4; Rahmen++)
          {
               gotoxy(25, Rahmen);
               cprintf("%c", r4);
          }
        gotoxy(25,5);
        cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",r9,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r10);
          for (Rahmen = 6; Rahmen <= 24; Rahmen++)
          {
               gotoxy(25, Rahmen);
               cprintf("%c", r4);
          }  
        gotoxy(25,25);
        cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%cSteveKempe%c%c%c",r5,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r7,r8,r2,r6);
          gotoxy(25,2);
          for (Rahmen = 2; Rahmen <= 4; Rahmen++)
            {
                gotoxy(54, Rahmen);
                cprintf("%c", r4);
            }
          for (Rahmen = 6; Rahmen <= 24; Rahmen++)
           {
               gotoxy(54, Rahmen);
               cprintf("%c", r4);
           }
    }
    

    Denke so müsste es nun gehn...



  • Mal kurz Off-Topic:
    Muss man sich bei der Tutorial-Seite registrieren um dort Infos zu bekommen?

    Der Quellcode funzt nicht: Es kommt Call zo Nonfunction!



  • Hast du die Funktionsdeklaration oben auch kopiert?

    Wenn ja kannste mal den genauen Fehler nieder schreiben...



  • Wegen OT:

    www.robsite.de

    Da sind auch viele Tutorials.

    WEnn du lieber nen Buch lesen willst, empfehle ich dir:

    - C von A bis Z
    und/oder
    - Jetzt lerne ich C



  • Gut, danke! Die Seite ist echt stark! Jetzt bräuchte ich nur noch Infos zur OnTopic 😃



  • DSD-Steve schrieb:

    Der Quellcode funzt nicht: Es kommt Call zo Nonfunction!

    Dann hast du wohl falsch abgeschrieben, bei mir geht's.

    Du wirst uns wohl zeigen müssen, was du da produziert hast.



  • void Rahmen(); 
    
    int main() 
    { 
        int w = 1; 
        char x, y; 
     //Rand-Zeichen 
        float a, b, Ergebniss,ZErgebniss,ZErgebniss2; 
        double c, d; 
    
        while(w != 0) 
        { 
    
        Rahmen();   
    
        clrscr(); 
        textbackground(CYAN); 
        textcolor(RED); 
        } 
    } 
    
    void Rahmen() 
    { 
        int Rahmen; 
        char r1=201,r2=205,r3=187,r4=186,r5=200,r6=188,r7=175,r8=174,r9=204,r10=185; 
            clrscr(); 
        gotoxy(25,1); 
        cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",r1,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r3); 
        gotoxy(25,2); 
          for (Rahmen = 2; Rahmen <= 4; Rahmen++) 
          { 
               gotoxy(25, Rahmen); 
               cprintf("%c", r4); 
          } 
        gotoxy(25,5); 
        cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",r9,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r10); 
          for (Rahmen = 6; Rahmen <= 24; Rahmen++) 
          { 
               gotoxy(25, Rahmen); 
               cprintf("%c", r4); 
          }   
        gotoxy(25,25); 
        cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%cSteveKempe%c%c%c",r5,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r7,r8,r2,r6); 
          gotoxy(25,2); 
          for (Rahmen = 2; Rahmen <= 4; Rahmen++) 
            { 
                gotoxy(54, Rahmen); 
                cprintf("%c", r4); 
            } 
          for (Rahmen = 6; Rahmen <= 24; Rahmen++) 
           { 
               gotoxy(54, Rahmen); 
               cprintf("%c", r4); 
           } 
    } 
    
    	int w = 1,Rahmen;
    	char x, y;
    	char r1=201,r2=205,r3=187,r4=186,r5=200,r6=188,r7=175,r8=174,r9=204,r10=185; //Rand-Zeichen
    	float a, b, Ergebniss,ZErgebniss,ZErgebniss2;
    	double c, d;	
    
    	while(w != 0)
    	{
    
    	Rahmen();	
    
    	clrscr();
    	textbackground(CYAN);
    	textcolor(RED);
    	gotoxy(33,1);
    	cputs("\n\nTaschenrechner");
    	gotoxy(33,6);
    	cputs("Grundrechenarten\n");
    	gotoxy(33,7);
    	cputs("(a)Addition\n");
    	gotoxy(33,8);
    	cputs("(s)Subtraktion\n");
    	gotoxy(33,9);
    	cputs("(m)Multiplikation\n");
    	gotoxy(33,10);
    	cputs("(d)Division\n");
    	gotoxy(29,11);
    	cputs("Erweiterte Rechenarten\n");
    	gotoxy(33,12);
    	cputs("(q)Quadratberechnung\n");
    	gotoxy(33,13);
    	cputs("(w)Wurzelberechnung\n");
    	gotoxy(33,14);
    	cputs("(p)Potenzierung\n");
    	gotoxy(33,15);
    	//printf("(pw)potenzwurzelberechnung\n");
    	gotoxy(30,16);
    	cputs("Spezielle Berechnungen\n");
    	gotoxy(33,17);
    	cputs("(1)Sinusberechnung\n");/*
    	gotoxy(33,18);
    	cputs("(2)Cosinusberechnung\n");
    	gotoxy(33,19);
    	cputs("(3)Tangensberechnung\n"); */
    	gotoxy(36,20);
    	cputs("Sonstiges\n");
    	gotoxy(33,21);
    	cputs("(i)Informationen\n");
    	gotoxy(33,22);
    	cputs("(b)Beenden\n");
    	scanf("%c", &x);
    	clrscr();
    


  • Du machst wieder den gleichen Fehler wie oben...

    Jede Funktion muss alleine stehen. So wie du das gemacht hast, haste wieder Code geschrieben, der in keiner Funktion steht...

    Der ganze Quellcode, der unterhalb der Rahmen Funktion steht, muss in die Main Funktion.

    Was du mit den unteren Initialisierungen und Deklaratipnen meinst weiss ich nich... 🙄



  • Ich verzweifle, tu mir BITTE,BITTE,BITTE doch einfach den gefallen und schreibe den Quellcode in meinen Beispiel so wie er sein muss.. BITTE! 😞 😞



  • oO

    Nen bisschen anstrengen solltest du dich schon...



  • BITTE, BITTE, BITTE! Für den Rest des Programmes mache ich es den auch selber!



  • schreib das programm neu. dann findest du vielleicht wieder rein.



  • void Rahmen();
    
    int main()
    {
        int w = 1;
        char x, y;
     //Rand-Zeichen
        float a, b, Ergebniss,ZErgebniss,ZErgebniss2;
        double c, d;
    
        Rahmen();  
    
        clrscr();
        textbackground(CYAN);
        textcolor(RED);
        gotoxy(33,1);
        cputs("\n\nTaschenrechner");
        gotoxy(33,6);
        cputs("Grundrechenarten\n");
        gotoxy(33,7);
        cputs("(a)Addition\n");
        gotoxy(33,8);
        cputs("(s)Subtraktion\n");
        gotoxy(33,9);
        cputs("(m)Multiplikation\n");
        gotoxy(33,10);
        cputs("(d)Division\n");
        gotoxy(29,11);
        cputs("Erweiterte Rechenarten\n");
        gotoxy(33,12);
        cputs("(q)Quadratberechnung\n");
        gotoxy(33,13);
        cputs("(w)Wurzelberechnung\n");
        gotoxy(33,14);
        cputs("(p)Potenzierung\n");
        gotoxy(33,15);
        //printf("(pw)potenzwurzelberechnung\n");
        gotoxy(30,16);
        cputs("Spezielle Berechnungen\n");
        gotoxy(33,17);
        cputs("(1)Sinusberechnung\n");/*
        gotoxy(33,18);
        cputs("(2)Cosinusberechnung\n");
        gotoxy(33,19);
        cputs("(3)Tangensberechnung\n"); */
        gotoxy(36,20);
        cputs("Sonstiges\n");
        gotoxy(33,21);
        cputs("(i)Informationen\n");
        gotoxy(33,22);
        cputs("(b)Beenden\n");
        scanf("%c", &x);
        getch();
    
    } 
    
    void Rahmen()
    {
        int Rahmen;
        char r1=201,r2=205,r3=187,r4=186,r5=200,r6=188,r7=175,r8=174,r9=204,r10=185;
            clrscr();
        gotoxy(25,1);
        cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",r1,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r3);
        gotoxy(25,2);
          for (Rahmen = 2; Rahmen <= 4; Rahmen++)
          {
               gotoxy(25, Rahmen);
               cprintf("%c", r4);
          }
        gotoxy(25,5);
        cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",r9,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r10);
          for (Rahmen = 6; Rahmen <= 24; Rahmen++)
          {
               gotoxy(25, Rahmen);
               cprintf("%c", r4);
          }  
        gotoxy(25,25);
        cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%cSteveKempe%c%c%c",r5,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r7,r8,r2,r6);
          gotoxy(25,2);
          for (Rahmen = 2; Rahmen <= 4; Rahmen++)
            {
                gotoxy(54, Rahmen);
                cprintf("%c", r4);
            }
          for (Rahmen = 6; Rahmen <= 24; Rahmen++)
           {
               gotoxy(54, Rahmen);
               cprintf("%c", r4);
           }
    }
    


  • Ach als kleienr tipp lass das schoenheits zeuch weg und mach nur das grundlegende.

    Den schnick schnack kann man später immer noch rein baun.

    So wirste dann vlt was lernen dabei und nicht nur Copy Paste aus dem Forum betreiben..

    WEnn du weiter noch fragen haben solltest kannst mich auch im icq anschreiben.

    nummer: 316698305



  • Kann leider kein ICQ nutzen, hat etwas mit meinen I-Net-Zugang zu tun 😞
    Ich versuche den Rahmen nun ohne void zu lösen, und siehe da es klappt und der Quellcode ist trotzdem nur noch halb so groß wie vorher! 👍



  • oder im irc: irc.euirc.net #cpp


Anmelden zum Antworten