WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 02.05.2002, 14:16   #1
shyboy
Newbie
 
Registriert seit: 02.05.2002
Alter: 40
Beiträge: 4


Standard Hilfe C++ Probleme

Hi Leute!
So sollte der Bildschirmausdruck vorerst einmal aussehen:
______
| | |
______
| | |
______
| | |

Ich habe das ganze mir arrays programmiert weil nachher in die 4 freien Kästchen noch etwas hineinkommen soll! Jedoch zeigt es mir bei meiner Idee etwas ganz anderes auf der Ausgabemaske an.Ich brauche das auf einer win32 konsolenanwendung!Meine Idee war so:

int a,b,i,zz[9];
for(i=1;i<=6;i++)
printf("-");
printf("\n");

for(b=0;b<9;b=b+3){

for(a=0;a<3;a++){
printf("I ");
printf("%c\n",zz[a+b]);

}
printf("------\n");
}

Ich hoffe mir kann wer helfen! Danke schon im voraus
Bye Jürgen
shyboy ist offline   Mit Zitat antworten
Alt 02.05.2002, 14:49   #2
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard was soll das programm machen ??

hallo !

warum gibts du am Anfang die zeichenfolge "------" mit
einer for schleife aus - geht doch, wie auch am schluss mit
printf("------\n");

Was für eine aufgabe soll dieses programm überhaupt erfüllen ??

wenn du willst, dass dir jemand hilft, solltest du ev. die
zu lösende aufgabe genauer beschreiben !

mfg
-hannes
Biri ist offline   Mit Zitat antworten
Alt 02.05.2002, 15:08   #3
shyboy
Newbie
 
Registriert seit: 02.05.2002
Alter: 40
Beiträge: 4


Standard Es soll ein XXO, oder Tic Tac To Programm werden

Sorry, dass ich das nicht geschrieben haben.

Es soll also so ein simples X-X-O Spiel werden, wo 2 Spieler am Computer gegeneinander spielen!
Der vorhandene Raster wird in A-C und 0-2 unterteilt und der Spieler gibt dann das Feld an wo sein X oder O reinkommen soll.Hat dann einer 3 X/bzw O´s in einer Reihe egal ob horizontal oder vertikal hat er gewonnen. Hier einmal das Programm soweit ich bin, es fehlt halt leider noch einiges.Jedoch habe ich jetzt erstmal das Problem dass die Ausgabe falsch erscheint.




#include "stdafx.h"
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>


int main(int argc, char* argv[])
{

int i, b, a, y, x, z,zz[9];
char xc,A,B,C;

printf(" Tic Tac Toe\n");

//Feld zeichnen//

for(i=1;i<=6;i++)
printf("-");
printf("\n");

for(b=0;b<9;b=b+3){

for(a=0;a<3;a++){
printf("I ");
printf("%c\n",zz[a+b]);

}
printf("------\n");
}

//Frage//

printf("1.Spieler:[z.B.A]");
xc=getch();
printf("1.Spieler:[z.B.1]");
scanf("%i", &y);


if (xc=A)
x=0;
if (xc=B)
x=1;
if (xc=C)
x=2;

y=y*3;

z=x+y;

return 0;
}
shyboy ist offline   Mit Zitat antworten
Alt 02.05.2002, 15:57   #4
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard habs schnell programmiert

...möglich, dass noch fehler drinnen sind, aber fürs erste sollte das reichen.
die gewinnabfrage kannst dir noch selbst überlegen.
(is ja fad, wenn ma alles vorgegeben bekommt, oder ?

mfg
-hannes


#include "stdafx.h"
#include "string.h"

#define ZEILEN 3
#define SPALTEN 3

#define SPIELER_1 'X'
#define SPIELER_2 'O'

char feld[ZEILEN][SPALTEN];

void ausgabe()
{
for (int z=0; z < ZEILEN; z++)
{
printf("-------\n");
for (int s=0; s < SPALTEN; s++)
printf("|%c",feld[z][s]);

printf("|\n");
}
printf("-------\n");
}

void initfeld()
{
for (int z=0; z < ZEILEN; z++)
for (int s=0; s < SPALTEN; s++)
feld[z][s] = '\0';
}

bool checkifwon()
{
// selbst ausdenken - sonst is ja fad !!
return false;
}


int main(int argc, char* argv[])
{
int zeile,spalte,zuege = 1;
char meinzeichen;

printf("\n TIC-TAC-TOE\n\n");
initfeld();

while ((zuege <= ZEILEN * SPALTEN) && (checkifwon() == false))
{
ausgabe();

if (zuege % 2 == 0) meinzeichen = SPIELER_1;
else meinzeichen = SPIELER_2;

fflush(stdin);
printf("\nIhr Zug (Zeile):");
scanf("%d",&zeile);
printf("Ihr Zug (Spalte):");
scanf("%d",&spalte);

if (zeile >=0 && zeile <= 2 && spalte >=0 && spalte <= 2)
{
if (feld[zeile][spalte] == '\0')
{
feld[zeile][spalte] = meinzeichen;
zuege++;
}
else
printf("Feld bereits belegt !\n");
}
else
printf("Zug ungueltig !\n");
}

fflush(stdin);
getchar();
return 0;
}
Biri ist offline   Mit Zitat antworten
Alt 03.05.2002, 09:28   #5
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Standard von C nach C++

Die nächste Aufgabe wäre dann, statt einem C-Programm eines in C++ zu schreiben. Der Bildschirm wird als Klasse definiert, 'void initfeld()' kommt in den Konstruktor dieser Klasse usw. .
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten
Alt 06.05.2002, 10:34   #6
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard c++

hallo !

genaugenommen ist mein lösungsvorschlag schon C++.

variablenvereinbarungen innerhalb einer for-schleife geht in C nicht.
glaub aber nicht, dass du für dieses "problem" irgendwelche
speziellen möglichkeiten von C++ benötigst.

viel spaß beim tic-tac-toe spielen.
...wär sicha intressant, einen computergegner zu programmiern !

-hannes
Biri ist offline   Mit Zitat antworten
Alt 06.05.2002, 13:45   #7
citizen428
Elite
 
Registriert seit: 03.04.2001
Beiträge: 1.358


citizen428 eine Nachricht über ICQ schicken
Standard Re: c++

Zitat:
Original geschrieben von Biri
genaugenommen ist mein lösungsvorschlag schon C++.

variablenvereinbarungen innerhalb einer for-schleife geht in C nicht.
Also ich hab ja schon echt lange nicht mehr in C(++) programmiert, aber wenn du mit "Variablenvereinbarungen gehen nicht in for-Schleifen in C" z.B. das meinst: for (int z=0;...) bin ich mir ziemlich sicher daß ich das früher schon verwendet hab (bitte um Korrektur und Link wenn es wirklich nicht gehen sollte!) und wäre bei C++ die Verwendung von cin und cout nicht printf und scanf vorzuziehen?
____________________________________
citizen428.blog() | CARGAL | open.source.mac
citizen428 ist offline   Mit Zitat antworten
Alt 06.05.2002, 13:59   #8
citizen428
Elite
 
Registriert seit: 03.04.2001
Beiträge: 1.358


citizen428 eine Nachricht über ICQ schicken
Standard

Hier noch ein Satz der mich in meinem Glauben daß Varibalendeklarationen innerhalb der for-Schleife zulässig sind, bestärkt:

"In C, a variable must be declared before it can be used. Variables can be declared at the start of any block of code,"

Wenn wer Genaueres bezüglich dieser Thematik in ANSI-C weiß dann wäre ich dankbar. Hab außer diesem Satz nicht viel gefunden, ehrlich gesagt hab ich aber auch nicht wirklich intensiv gesucht. Ist nur so aus Neugier...
____________________________________
citizen428.blog() | CARGAL | open.source.mac
citizen428 ist offline   Mit Zitat antworten
Alt 06.05.2002, 14:42   #9
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard variablendeklaration

hallo !


Also ich hab ja schon echt lange nicht mehr in C(++) programmiert, aber wenn du mit "Variablenvereinbarungen gehen nicht in for-Schleifen in C" z.B. das meinst: for (int z=0;...)


ja genau das for (int z=0....) mein ich !


"In C, a variable must be declared before it can be used. Variables can be declared at the start of any block of code,"


soweit ich weiß, ist ein "block of code" in C:
{
// z.B. int i;
// block of code
}
ist aber auch schon länger her, dass ich ansi c programmiert habe (programmier dzt. nur visual c++ unter windows), bin mir aber trotzdem sicher, dass eine variablendeklaration innerhalb einer schleife in ansi C NICHT geht - will das jetzt aber nicht irgendwie beweisen oder danach suchen - soooo wichtig is ma das nicht.

cin und cout ist auch meiner meinung nach vorzuziehen, aber es ging ja um eine lösung in C, oder ?
Biri ist offline   Mit Zitat antworten
Alt 06.05.2002, 22:34   #10
citizen428
Elite
 
Registriert seit: 03.04.2001
Beiträge: 1.358


citizen428 eine Nachricht über ICQ schicken
Standard Re: variablendeklaration

Zitat:
Original geschrieben von Biri

1. soweit ich weiß, ist ein "block of code" in C:
{
// z.B. int i;
// block of code
}
2. cin und cout ist auch meiner meinung nach vorzuziehen, aber es ging ja um eine lösung in C, oder ?
ad 1. Ich bin mir mittlerweile so gut wie sicher daß ich das 1. früher so gemacht habe und 2. das das in der for-Schleife auch ein "block of code" ist. Aber wie gesagt, wichtig ist es nicht, es hat mich dann nur interessiert.

ad 2. Schon, aber hat da dann nicht jemand gesagt: "genaugenommen ist mein lösungsvorschlag schon C++."
____________________________________
citizen428.blog() | CARGAL | open.source.mac
citizen428 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:25 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag