Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 22:19

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Lottoprogramm Ausgabe formatieren

Discussion on Lottoprogramm Ausgabe formatieren within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2011
Posts: 123
Received Thanks: 34
Lottoprogramm Ausgabe formatieren

Hey Community,

ich muss derzeit für die Schule ein Lottoprogramm schreiben, es funktioniert alles aber ich habe noch etwas Probleme mit der Ausgabe.


Hier der Quellcode:

Code:
//Headerdateien
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
using namespace std;

//************************************************** ************************************************
//Prototypen
void tippen(int*);
void ausgeben(int*);
void ziehen(int*);
void sortieren(int*);
void auswerten(int*,int*);
bool doppelt(int*,int);
void gotoxy(int x, int y);

//************************************************** ************************************************




//************************************************** ************************************************
//Hauptprogramm
int main()
{

//Variablen und Arrays deklarieren
int ar_tipp[6];
int ar_ausgeben[6];
int ar_lotto[6];
char wiederholen;
int zeichen;

system("cls");



//Funktionsaufruf "Tippen"

for(int i=1;i<=8;i++)//Ecke Links oben
{
gotoxy(15,i);//position des Koersers
zeichen= 201;
cout<<zeichen<<"\n";
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA NDLE), 12);
gotoxy(15,1);
cout<<"xxx xxxx xxxxxxxxx xxxxxxxxx xxxx " <<endl;
gotoxy(15,2);
cout<<"xxx xx xx xxxxxxxxx xxxxxxxxx xx xx "<<endl;
gotoxy(15,3);
cout<<"xxx xx xx xx xx xx xx"<<endl;
gotoxy(15,4);
cout<<"xxx xx xx xx xx xx xx"<<endl;
gotoxy(15,5);
cout<<"xxx xx xx xx xx xx xx " <<endl;
gotoxy(15,6);
cout<<"xxx xx xx xx xx xx xx"<<endl;
gotoxy(15,7);
cout<<"xxxxxxx xx xx xx xx xx xx " <<endl;
gotoxy(15,8);
cout<<"xxxxxxx xxxx xx xx xxxx "<<endl;
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA NDLE), 14);
gotoxy(30,11);
cout<<"Willkommen zum Lottospiel."<<endl;
gotoxy(25,13);
cout<<"Bitte geben sie 6 von 49 Zahlen ein"<<endl;

tippen (ar_tipp);


ziehen (ar_lotto);

auswerten (ar_tipp, ar_lotto);
cout<<"\nMoechten sie nochmal spielen? -J/N"<<endl;
cin>>wiederholen;
if(wiederholen=='j')
{

main();
}



return 0;
}


//************************************************** ************************************************
//Unterprogramme

//Unterprogramm "Tippen" usw.
void tippen(int* ar_tipp)
{





for(int i=0; i<6; i++)
{ gotoxy(2, i+15);

cout<<i+1<<". Tipp: ";
cin>>ar_tipp[i];
if(ar_tipp[i]<1 || ar_tipp[i]>49)
{
gotoxy(5,22);

cout<<"Der gewuenschte Tipp ist nicht gueltig"<<endl;
i--;

}

if(doppelt(ar_tipp,i))
{
gotoxy(5,22);

cout<<"Die Zahl wurde bereits schon eingegeben! Bitte Eingabe wiederholen."<<endl;
i--;

}



}



system("cls");
ausgeben(ar_tipp);



}


//************************************************** ************************************************
//Unterprogramm "Ausgeben" usw.

void ausgeben(int* ar_ausgeben)
{
int temp1;
int zeichen;

for(int i=1;i<=8;i++)//Ecke Links oben
{
gotoxy(15,i);//position des Koersers
zeichen= 201;
cout<<zeichen<<"\n";
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA NDLE), 12);
gotoxy(15,1);
cout<<"xxx xxxx xxxxxxxxx xxxxxxxxx xxxx " <<endl;
gotoxy(15,2);
cout<<"xxx xx xx xxxxxxxxx xxxxxxxxx xx xx "<<endl;
gotoxy(15,3);
cout<<"xxx xx xx xx xx xx xx"<<endl;
gotoxy(15,4);
cout<<"xxx xx xx xx xx xx xx"<<endl;
gotoxy(15,5);
cout<<"xxx xx xx xx xx xx xx " <<endl;
gotoxy(15,6);
cout<<"xxx xx xx xx xx xx xx"<<endl;
gotoxy(15,7);
cout<<"xxxxxxx xx xx xx xx xx xx " <<endl;
gotoxy(15,8);
cout<<"xxxxxxx xxxx xx xx xxxx "<<endl;
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA NDLE), 14);
gotoxy(30,11);
cout<<"Willkommen zum Lottospiel."<<endl;
gotoxy(25,13);
cout<<"Bitte geben sie 6 von 49 Zahlen ein"<<endl;

cout<<"\nIhr Tipp:"<<endl;

for(int i=0; i<6; i++)
{
for(int j=0; j<6;j++)
{
if(ar_ausgeben[j]>ar_ausgeben[j+1])
{
temp1=ar_ausgeben[j];
ar_ausgeben[j]=ar_ausgeben[j+1];
ar_ausgeben[j+1]=temp1;
}
}
}
for(int k=0; k<6;k++)
{
cout<<k+1<<". Zahl= "<<ar_ausgeben[k]<<"\n"<<endl;
}



}


//************************************************** ************************************************
//Unterprogramm "Ziehen" usw.
void ziehen(int* ar_lotto)
{


srand((unsigned)time(NULL));//Zufallszahlengenerator starten.


for(int i=0;i<6; i++)
{
ar_lotto[i]=rand()%49+1;



if(doppelt(ar_lotto,i))
{
i--;
}
}
sortieren(ar_lotto);

}


//************************************************** ************************************************
//Unterprogramm "Sortieren" usw.
void sortieren(int* ar_lotto)
{

int temp;
int zeichen;
for(int l=0; l<1; l++)
{




cout<<"Lottozahlen:";
{




for(int i=0; i<6; i++)
{
for(int j=0; j<6;j++)
{
if(ar_lotto[j]>ar_lotto[j+1])
{
temp=ar_lotto[j];
ar_lotto[j]=ar_lotto[j+1];
ar_lotto[j+1]=temp;
}
}
}
}



for(int k=0; k<6;k++)

{


cout<<"\n"<<k+1<<". Zahl= "<<ar_lotto[k]<<endl;


}


}
}



//************************************************** ************************************************
//Unterprogramm "Auswerten" usw.
void auswerten(int* ar_tipp,int* ar_lotto)
{

int k=0;
for(int i=0; i<6; i++)
{

for(int j=0; j<6; j++)
{
if(ar_tipp[i]==ar_lotto[j])
{

k++;
}
}
}


cout<<"\n Sie haben "<<k<<" richtige Zahlen";
}



//************************************************** ************************************************
//Unterprogramm "Doppelt" usw.
bool doppelt(int* ar_zahlen ,int i)
{
if(i>0)
{
for(int j=0; j<=i-1; j++)
{
if(ar_zahlen[j]==ar_zahlen[i])
{
return(true);
}
}

}
return(false);

}
void gotoxy(int xpos, int ypos)
{
COORD scrn;
HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
scrn.X = xpos; scrn.Y = ypos;
SetConsoleCursorPosition(hOuput,scrn);
}



//True oder false

Es geht um diese Stelle:

********************
//Unterprogramm "Sortieren" usw.
void sortieren(int* ar_lotto)
{

int temp;
int zeichen;
for(int l=0; l<1; l++)
{




cout<<"Lottozahlen:";
{




for(int i=0; i<6; i++)
{
for(int j=0; j<6;j++)
{
if(ar_lotto[j]>ar_lotto[j+1])
{
temp=ar_lotto[j];
ar_lotto[j]=ar_lotto[j+1];
ar_lotto[j+1]=temp;
}
}
}
}



for(int k=0; k<6;k++)

{


cout<<"\n"<<k+1<<". Zahl= "<<ar_lotto[k]<<endl;


}


}
}
Ich hätte gern die Lottozahlen Rechts neben den getippten Zahlen. Ich habe mir vorgestellt das dies mit gotoxy(); möglich wäre, jedoch klappt das nicht so wie ich es mir denke. Könnt ihr mir vielleicht helfen?

Mit freundlichen Grüßen

Manu/Explode

#push!"
Explode:) is offline  
Old 07/02/2012, 12:35   #2


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Du kannst in der Konsole nur linear Text ausgeben, du kannst nicht einfach vor und zurückspringen, wie es dir beliebt.
MrSm!th is offline  
Old 07/02/2012, 15:33   #3
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
Natürlich kann er das!


Beispiel:
Code:
COORD coord = { 5, 15 };
auto stdHandle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(stdHandle, coord);
std::cout << "456";
COORD.X = 0;
SetConsoleCursorPosition(stdHandle, coord);
std::cout << "123";
Ausgabe:
123 456


Ob und wie das auf Linux funktioniert kann ich dir jedoch nicht sagen.
Nightblizard is offline  
Thanks
1 User
Old 07/02/2012, 15:50   #4


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Ok, war mir neu oO
Habs halt so in Büchern gelernt, allerdings lehren die ja auch nur den Standard und der stellt sowas nicht bereit, ist ja ne Windows API.
MrSm!th is offline  
Reply


Similar Threads Similar Threads
Promocode ? bei 400 G1 ausgabe
02/17/2011 - WarRock - 11 Replies
Hallo wie manche wissen wurde mein account gehackt und meine 1800 G1^ausgegeben es sind zwei sachen dabei die 499 G1 betragen meine Frage bei warrock steht das wenn man über 400 G1 ausgibt dann gibt es ein Promocode umsonst aber ich finde da gar nichts wo finde ich die den oder geht das überhaupt noch ? ja der suopport bucht die G1 nicht zurück
Sound ein/ausgabe?
01/31/2011 - Technical Support - 4 Replies
Hallo liebes e*pvp Forum, ich hatte gestern ein kleines problem. Immer als ich meinen PC hochgefahren habe hat er mir gesagt "HTLDR fehlt" das hab ich jetzt behoben, allerdings hab ich jetzt NICHTS mehr auf dem PC. Ich hab mir jetzt das wichtigste wieder runtergeladen und Internet drauf gemacht. Mein erstes Problem besteht dadrinn das er mir am anfang sagt das ich keinen Arbeitsspeicher habe. Bei mir ist das so: ich mach den PC an dann kommt ein schwarzer Bildschirm dann Listet er mir...
E*PvP ~//Gamers News//~ *Ausgabe 1*
01/09/2011 - Main - 3 Replies
Hallo, Nach einiger Zeit und etwas nachdenken, bin ich auf die Idee gekommen speziell für Elitepvpers News zu erstellen, zusammen zu fassen und zu gestalten. Nun werde ich euch hier "Gamers News" zu sehen bekommen, die ich ab jetzt jede 2 Woche bereitstellen werde. Ich hoffe es ist erlaubt und findet bei jedem Gefallen. Genug geredet. Viel Spaß bei Gamers News Ausgabe Nummero eins! http://www.lupiupload.de/images/2011/01/09/e45dcb 93e627605e597c2d738eaad7ecd45b1ff2.png The Elder Scrolls...
Login Sie nehmen Ausgabe !!
05/30/2010 - Metin2 Private Server - 3 Replies
Of course, My problem is this: We are open server. We pull start. Şekilkde normally enters the game, try to enter again after 10 minutes when you take input remains. How can I solve this always the case. thanks
D2NT - Ausgabe formatieren
04/20/2010 - Diablo 2 Programming - 2 Replies
Heyho, ich wollte mal die Ausgabe des ntbots ein bisschen formatieren und zwar das angezeigt wird, welches item wo mit welchem ilvl gefunden wurde. Ich bräuchte allerdings Hilfe bei den if-Abfragen denn irgendwie will der bot nicht so wie ich will: if(_item.quality > 4 && _checkeditem.Status < 2 && _item.itemtype != 4 && (_item.itemtype < 76 || _item.itemtype > 81)) NTC_SendLogToOOG(NTC_LOG_ITEM, "(" + _area.name + ")" + " Aufgehoben: " + NTC_ItemQualityToMGRColor +...



All times are GMT +1. The time now is 22:19.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.