begin process at 2012 02 10 16:56:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

aide sur erreur de syntaxe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

aide sur erreur de syntaxe

samedi 29 janvier 2005 à 22:46:28 | aide sur erreur de syntaxe

skadomers

salut à tous.
voila je suis en train de créer un programme , permettant de faire des fiches de commande par client. Dans un premier temps ont rempli le tableau, puis après ont saisi un numéro de client , et la ca doit afficher toute ses factures. Mais j'ai un petit problème de syntaxe apparement, ce qui fait que mon programme ne marche pa. Pouvez vous m'aider?
dont voici les messages d'erreurs:
   16 c:\docume~1\salut\mesdoc~1\cc__~1\fichec~1.cpp
 implicit declaration of function `int streql(...)'

   31 c:\docume~1\salut\mesdoc~1\cc__~1\fichec~1.cpp
 incompatible types in assignment of `const char[5]' to `char[10]'

erreur écrite en rouge

Merci d'avance.


#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
struct designation{
  char numfact[10];
  char numcli[10];
  char codart[10];
  float pu;
  int qt;
}commande[4];

int i=0;
char rep[]="o";
  while(streql(rep,"o")==1){
    printf("numfact :\n\r");
    scanf("%s",&commande[i].numfact);
    printf("numcli :\n\r");
    scanf("%s",&commande[i].numcli);
    printf("codart :\n\r");
    scanf("%s",&commande[i].codart);
    printf("prix unitaire :\n\r");
    scanf("%f",&commande[i].pu);
    printf("quantité :\n\r");
    scanf("%i",&commande[i].qt);
    i++;
    printf("avez vous une ligne de commande à entrer?\n\r");
    scanf("%s", &rep);
  }
  commande[i+1].numfact="0000";

float totalcmd=0, totfact, lign;
char numcli[10];
char numfact[10];
  i=0;
  printf("saisir numcli\n\r");
  scanf("%s",&numcli);
  while(streql(commande[i].numfact,"0000")==0){
    while(streql(commande[i].numcli,numcli)==0 && streql(commande[i].numfact,"0000")==0){
      i++;
    }
    numfact=commande[i].numfact;
    printf("facture num : %i\n\r",numfact);
    totfact=0;
    while(streql(commande[i].numcli,numcli)==1 && streql(commande[i].numfact,numfact)==1){
      lign=commande[i].pu * commande[i].qt;
      printf("code article: %s\n\r,prix unitaire: %f\n\r,quantite: %i\n\r,total: %f\n\r",commande[i].codart, commande[i].pu ,commande[i].qt ,lign);
      totfact=totfact+lign;
      i++;
    }
  }
  printf("\n\r");
  printf("total commande : %f",totalcmd);

      system("PAUSE");
      return 0;
}

samedi 29 janvier 2005 à 22:55:31 | Re : aide sur erreur de syntaxe

bayeto

Membre Club
* la premiere: je ne connais pas moi non plus la fonction streql, mais je te propose
while(!strcmp(rep,"o")) si j'ai bien saisi le sens de streql

* la deuxième: strcpy(commande[i+1].numfact,"0000");
samedi 29 janvier 2005 à 23:01:28 | Re : aide sur erreur de syntaxe

skadomers

o merci c cool de ta part, j vais essayer ca de suite
Ba en fait, j ai lu dans un bouquin que streql, servait à vérifier l'égalité de deux chaines de caractères, mais bon c'était la première fois que je la mettais en oeuvre.
samedi 29 janvier 2005 à 23:43:00 | Re : aide sur erreur de syntaxe

bayeto

Membre Club
en fait strcmp est plus connu et renvoit 0 si les chaines sont equivalentes.
dimanche 30 janvier 2005 à 11:34:34 | Re : aide sur erreur de syntaxe

skadomers

ok merci, j 'ai effectué ces modifications et quelques d'autres, maintenant le programme marche.

 

vendredi 4 février 2005 à 22:09:06 | Re : aide sur erreur de syntaxe

EMSIEN

En ce qui concerne ton code j'ai une petite remarque concernant le type chane
donc quadn tu voudars lire une chaine avec  scanf("%s",NOM_variable)
sans mettre le et commercial & sinon si tu veux prendre en considértaion les
espaces utilise plutôt gets(nom_chaine) bonne chance pour la suite.
une deuxieme chose est que j'ai jamais vu streql(...) mais je crois si tu compare
deux caractères c pas la peine utilise slmnt  if (rep==''o) ça feras l'affaire et en cas
de chaine utilise aussi strcmp(chaine1,chaine2) tu truveras ts ça sur le Help
Ciao
vendredi 4 février 2005 à 22:26:30 | Re : aide sur erreur de syntaxe

EMSIEN

Je me rappelle une autre chose au lieu de lire un caractère avec scanf(%c",&rep)
tu feras mieux rep=getch() sans affichage de la lettre ou bien rep=getche()
pour que tu vois le résultat entré ok Bon courage


Cette discussion est classée dans : printf, commande, char, numfact, numcli


Répondre à ce message

Sujets en rapport avec ce message

Parametre sur la ligne de commande [ par payen ] Salut a tous,j'ai un petit souci en C++ ...alors voila : j'ai ecrit un code qui prend comme parametres sur la ligne de commande 2 entiers. Ensuite, pl Probleme typedef struct [ par shenron ] #include #include #include /*Definition de la structure*/typedef struct{ char login[11]; char mdp[11];}strlogin;/*Declaration de fonctions*/void ajo Debutant : ecrire et lire un fichier txt [ par manu ] Bonjour a tous.Je debute, aussi desole.... :)Je cherche donc a ecrire dans un fichier txt, puis a lire ce fichier ligne a ligne, faire un split / expl regardez ma source HELP [ par asnow ] BonjourJe debute en C. j'ai voulu apprendre à enregistrer des données dans un fichier, ca a donné ce code .Si vous pouviez me donner des recommandatio [debutant]attribution dun mot a une char et comparaison ... [ par DarkEbola ] en fait, jaurais aimé attribuer du texte a une charkke chose comme 500 ou 600 caracteres maximais jarrive pas a lui attribuer plus de 1 Charsuis-je pl concatenation [ par asmv ] //a partir d'elements de tableau 'int' transformes en 'char'//essai de concatenation qui ne fonctionne pas pourquoi ?//merci pour votre aide#include # Hachage fermé problème de lecture [ par mcflysupersonic ] Bonjour je suis nouveau sur le forum est ceci est ma première question donc j'espère que je ne me suis pas trompé d'endroit pour poster.Voilà j'ai un segmentation fault help [ par alabb ] aidez moi je suis un new bie, j'ai un segmentation fault a la fin du prog:si gagant apres avoir affiché WINNERsi perdant apres avoir affiché "votre s Help commande "system(char *commande) [ par Lnx ] Bonjour,j'ai un petit soucis avec la commande system(cher command)j'ai " nom de commande ou de fichier incorrecte", alors qu'avec un toto.bat ça fonct


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales