2 Programme zusammenfügen



  • hallo an alle bin der neue^^

    es geht um folgendes:
    ich habe mit biegen und brechen 2 programme geschrieben (ich bin nicht gut im programmieren^^) und nun muss ich die beidne programme nur noch verbinden ... was sich für mich als schwerer herrausstellte als ich dachte.
    da wollte ich fragen ob ihr mir da vielleicht helfen könntet oder ein paar iddeen habt, wie ich das hinbekomme.

    programm 1:
    # include<dos.h>
    # include<stdio.h>
    # include<conio.h>

    void main ()
    {
    long int x=0, runde=0, merk=0;
    char taste=' ';
    clrscr();
    _setcursortype(_NOCURSOR);
    while (taste!=27)
    {
    gotoxy(1,1);
    printf("Programmabbruch mit <esc> \n\n");
    if (kbhit())
    taste=getch();
    while (((inportb(0x379)>>6)&0x01)==1) //ACK=1 ?
    x++; //ack =ls1
    while (((inportb(0x379)>>6)&0x01)==0);
    if(x>110){
    runde++;
    for(x=0;x<10000;x++);
    x=0;
    }
    else
    x=0;
    gotoxy(1,5);
    printf("Wagen1 befinden sich in Runde %5d! x= %3d \n",runde,x);
    merk=0;
    if (runde==10)
    runde=0;

    }

    }

    programm 2:
    # include<dos.h>
    # include<stdio.h>
    # include<conio.h>

    void main ()
    {
    long int time=0, merk=0, bestzeit=10000 ;
    char taste=' ';
    clrscr();
    _setcursortype(_NOCURSOR);
    while (taste!=27)
    {
    gotoxy(1,1);
    printf("Programmabbruch mit <esc> \n\n");
    if (kbhit())
    taste=getch();
    while (((inportb(0x379)>>6)&0x01)==0); //ack =ls1
    merk=1;
    time=0;
    while (merk && ((inportb(0x379)>>5)&0x01)==0) //pe=ls2
    time++;
    gotoxy(1,5);
    if(time>0){
    time=time/660;
    printf("Zeit auf Bahn 1= %5d ms \n",time);
    if(time<bestzeit){
    bestzeit=time;
    printf("die Bestzeit ist %5d ms \n",bestzeit);
    merk=0;

    }
    }

    }

    }

    ich hoffe ihr seid mir nicht böse das meine erste frage gleich so viel zum lesen ist 😉

    danke schonmal für eure hilfe.

    mfg
    Huffli



  • Die Frage ist eher warum du 2 Programme verwendest, wenn sie Zusammenhängen!?



  • Das hat auch nichts mit C++ zu tun.



  • undefined_ schrieb:

    Das hat auch nichts mit C++ zu tun.

    Stimmt, ab ins ANSI-C Forum.



  • Schau dir mal ein C++-Tutorial an oder ein gutes Buch, und arbeite das durch. Dort wirst du unter anderem etwas über Funktionen lernen, das dürfte dir bei deinem Problem weiterhelfen.



  • Huffli schrieb:

    nun muss ich die beidne programme nur noch verbinden ...

    In etwa so!

    # include<dos.h>
    # include<stdio.h>
    # include<conio.h>
    
    void Funktion_Eins()
    {
    	long int x=0, runde=0, merk=0;
    	char taste=' ';
    	clrscr();
    	_setcursortype(_NOCURSOR);
    	while (taste!=27)
    	{
    		gotoxy(1,1);
    		printf("Programmabbruch mit <esc> \n\n");
    		if (kbhit())
    			taste=getch();
    		while (((inportb(0x379)>>6)&0x01)==1) //ACK=1 ?
    			x++; //ack =ls1
    		while (((inportb(0x379)>>6)&0x01)==0);
    			if(x>110)
    			{
    				runde++;
    				for(x=0;x<10000;x++);
    					x=0;
    			}
    		else
    			x=0;
    		gotoxy(1,5);
    		printf("Wagen1 befinden sich in Runde %5d! x= %3d \n",runde,x);
    		merk=0;
    		if (runde==10)
    			runde=0;
    
    	}
    }
    void Funktion_Zwei()
    {
    	long int time=0, merk=0, bestzeit=10000 ;
    	char taste=' ';
    	clrscr();
    	_setcursortype(_NOCURSOR);
    	while (taste!=27)
    	{
    		gotoxy(1,1);
    		printf("Programmabbruch mit <esc> \n\n");
    		if (kbhit())
    			taste=getch();
    		while (((inportb(0x379)>>6)&0x01)==0); //ack =ls1
    			merk=1;
    		time=0;
    		while (merk && ((inportb(0x379)>>5)&0x01)==0) //pe=ls2
    			time++;
    		gotoxy(1,5);
    		if(time>0)
    		{
    			time=time/660;
    			printf("Zeit auf Bahn 1= %5d ms \n",time);
    			if(time<bestzeit)
    			{
    				bestzeit=time;
    				printf("die Bestzeit ist %5d ms \n",bestzeit);
    				merk=0;
    			}
    		}
    
    	}
    }
    
    int main () // <-- Es heißt int main() und nicht void main()
    {
    	Funktion_Eins();
    	Funktion_Zwei();
    }
    


  • EEK@work schrieb:

    ...
    int main () // <-- Es heißt int main() und nicht void main()
    ...
    

    Und es heißt <cstdio> statt <stdio.h> und es heißt cout statt printf und dann gibts noch zig andere kleine und große Unschönheiten in dem Code - wenn es denn um C++ geht. Sollte es um C gehen wird der Thread verschoben. Der OP möge sich bitte entscheiden 🙂



  • pumuckl schrieb:

    EEK@work schrieb:

    ...
    int main () // <-- Es heißt int main() und nicht void main()
    ...
    

    Und es heißt <cstdio> statt <stdio.h> und es heißt cout statt printf und dann gibts noch zig andere kleine und große Unschönheiten in dem Code - wenn es denn um C++ geht. Sollte es um C gehen wird der Thread verschoben. Der OP möge sich bitte entscheiden 🙂

    Wie ich bereits sagte, sollte es nicht lieber ins ANSI-C Forum?



  • pumuckl schrieb:

    Und es heißt <cstdio> statt <stdio.h> und es heißt cout statt printf und dann gibts noch zig andere kleine und große Unschönheiten in dem Code - wenn es denn um C++ geht.

    Stimmt, aber so genau habe ich mir den Code nicht angesehen, dass mir das aufgefallen wäre 😃



  • EEK@work schrieb:

    pumuckl schrieb:

    Und es heißt <cstdio> statt <stdio.h> und es heißt cout statt printf und dann gibts noch zig andere kleine und große Unschönheiten in dem Code - wenn es denn um C++ geht.

    Stimmt, aber so genau habe ich mir den Code nicht angesehen, dass mir das aufgefallen wäre 😃

    Eh alles Banane. Das macht in der Praxis doch keinen Unterschied...



  • Da der OP bisher keine Regung zeigt geh ich mal nach dem Sourcecode -> C-Forum



  • Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ 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.



  • oh mein gott!

    danke das ihr euch die zeit dafür genommen habt und euch das angeschaut habt vielen dank an alle für die tolle hilfe^^ echt super (tut mir leid deas ich jetzt erst schreibe, gerade so viel um die ohren :P) und das mit dem falschem forum tut mir auch leid. hier ist es genau richtig 😛

    weiss gar nicht was ich schreiben/sagen soll bin absolut begeistert 😃


Anmelden zum Antworten