Pour le generateur nfo ca marche mais pas la.

Signaler
Messages postés
368
Date d'inscription
mercredi 14 novembre 2001
Statut
Membre
Dernière intervention
1 septembre 2008
-
Messages postés
368
Date d'inscription
mercredi 14 novembre 2001
Statut
Membre
Dernière intervention
1 septembre 2008
-
bonjours !
je suis en train de me faire un logicielpour gerer ma collection de CDs mais voila : lepricipal probleme est que dans les titres, y'a bien a un moment ou a un autre des chiffres et des lettres : resultat : y'a un bug avec la fonction CIN et PRINTF.
vous m'aviez suggerer pour un precedent logiciel d'utiliser :

cin.getline(mavar, 255);

or, j'ai essaye et ca marche pas !!! il me saute carrement la question !!
je crois que c'est guyguy qui ma dit : utilise string.
mais DEVc++ me met undefined 'string'

alors, si il faut utiliser string, j'aimerais un exemple.

#include
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <conio.c>
#include <fstream.h>

#define red textcolor(RED)
#define brown textcolor(BROWN)
#define yellow textcolor(YELLOW)
#define green textcolor(GREEN)

void inserer();
void rechercher();

struct infos
{
public :
char nomAlb[255];
char nomCh[255];
char chanson[255];
char style[80];

int duree;
int nbch;

};

void inserer()
{
infos rens;
clrscr();
yellow ;
cout <<"\t\t|=====================================|\n";
cout <<"\t\t|";green;cout<<" Creer une nouvelle entr\202e ";yellow;cout<<"|\n";
cout <<"\t\t|=====================================|\n";

cout << "\n\n";
brown;
cout << "Vueillez entrer le nom du CD : \n";
red;
cin.getline(rens.nomAlb,255);
brown;
cout << "\n\nVueillez entrer le nom de l'artiste : \n";
red;
scanf("%s",rens.nomCh);
brown;
cout << "\n\nVueillez donner le style de musique : \n";
scanf("%s",rens.style);
}

void rechercher()
{}

int main(int argc, char *argv[])
{
int choix;
yellow;
cout << "\n";
cout <<"\t\t\t|================|\n";
cout <<"\t\t\t| ";textcolor(LIGHTBLUE);cout<<"Bienvenue dans ";yellow;cout<<"|\n";
cout <<"\t\t\t| ";textcolor(LIGHTBLUE);cout<<" DataBase ";yellow;cout<<"|\n";
cout <<"\t\t\t| ";textcolor(LIGHTBLUE);cout<<" for ";yellow;cout<<"|\n";
cout <<"\t\t\t| ";textcolor(LIGHTBLUE);cout<<" CDs ";yellow;cout<<"|\n";
cout <<"\t\t\t|================|\n";
cout <<"\t\t\t\t|===============|\n";
cout <<"\t\t\t\t| ";green;cout<<" DBCDs ";textcolor(YELLOW);cout<<"|\n";
cout <<"\t\t\t\t|===============|\n";

cout<< "\n\n\n";
brown;
cout <<"\t\t\t++++++++++++++++++++++++++++++++++\n";
cout <<"\t\t\t+";red;cout<<" MENU ";brown;cout<<"+\n";
cout <<"\t\t\t+--------------------------------+\n";
cout <<"\t\t\t+";textcolor(MAGENTA);cout<<" 1- Creer une entr\202e ";brown;cout<<" +\n";
cout <<"\t\t\t+";textcolor(MAGENTA);cout<<" 2- Rechercher ";brown;cout<<"+\n";
cout <<"\t\t\t+--------------------------------+\n";
cout <<"\t\t\t++++++++++++++++++++++++++++++++++\n";

cout << "\n\nVotre choix : ";
cin >> choix ;

if (choix = 1)
{
inserer();
}
else
{
rechercher();
}
system("PAUSE");
return 0;
}

merci d'avance !

2 réponses

Messages postés
95
Date d'inscription
mercredi 5 décembre 2001
Statut
Membre
Dernière intervention
27 juin 2006

tu devrai te faire une petite fonction avec getche dans le genre :

#include <conio.h>
char c;
char *chaine;
int i = 0;
while((c=getche())!='\n')
chaine[i++] = c;
chaine[i] = 0;

j'ai pas verifier si ça marche pasque je suis pas chez moi et que j'ai pas de compilateur sous la main !
Messages postés
368
Date d'inscription
mercredi 14 novembre 2001
Statut
Membre
Dernière intervention
1 septembre 2008

j'ai re-essaye avec une petite astuce : mettre une fonction cin.getline(sertarien,4)
au debut comme ca il marche parfaitement bien !