每次我试图执行程序时,它都会重复输入两次 #包括 #包括 #包括 typedef int tab[20]; int大小、操作; 无效SaisirNombreComptes(无效) { printf(“Merci davoir saisir le nombr
每次我试图执行程序时,它都会重复输入两次每次我试图执行程序时,它都会重复输入两次 #包括 #包括 #包括 typedef int tab[20]; int大小、操作; 无效SaisirNombreComptes(无效) { printf(“Merci davoir saisir le nombr,c,C,每次我试图执行程序时,它都会重复输入两次 #包括 #包括 #包括 typedef int tab[20]; int大小、操作; 无效SaisirNombreComptes(无效) { printf(“Merci davoir saisir le nombre des comptes bancaire:”);scanf(“i”和大小); } 无效SaisirComptesEtSoldes(制表符制表符、制表符制表符、整数大小) { for(inti=1;iinc,索引从0..n-1,因此for循环
#包括
#包括
#包括
typedef int tab[20];
int大小、操作;
无效SaisirNombreComptes(无效)
{
printf(“Merci davoir saisir le nombre des comptes bancaire:”);scanf(“i”和大小);
}
无效SaisirComptesEtSoldes(制表符制表符、制表符制表符、整数大小)
{
for(inti=1;iinc,索引从0..n-1
,因此for循环应该是for(int i=0;i@user3121023#用户3121023谢谢它起作用了我安抚that@user3121023您似乎已经找到了答案,至少是对所问问题的答案。请将其转换为正式答案,我想将其从未回答的问题列表中删除。为了得到一个好的答案,我建议请求Paul允许我也使用他的贡献。@user3121023谢谢这对我起了作用that@Yunnosch今天是我在stackoverflow的第一天,老实说,我对这个网站不太了解,也不知道如何使用它。很抱歉,我只是在寻找我的问题的解决方案时找到了它。这里仍然是新的C,索引从0..n-1
,所以你的for循环应该是for(int i=0;i@user3121023#用户3121023谢谢它起作用了我安抚that@user3121023您似乎已经找到了答案,至少是对所问问题的答案。请将其转换为正式答案,我想将其从未回答的问题列表中删除。为了得到一个好的答案,我建议请求Paul允许我也使用他的贡献。@user3121023谢谢这对我起了作用that@Yunnosch今天是我在stackoverflow的第一天,老实说,我对这个网站不太了解,也不知道如何使用它。很抱歉,我在这里寻找新问题的解决方案时发现了它
#include<stdio.h>
#include<stdio.h>
#include<windows.h>
typedef int tab[20];
int Size,Operation;
void SaisirNombreComptes(void)
{
printf("Merci davoir saisir le nombre des comptes bancaire: ");scanf("%i",&Size);
}
void SaisirComptesEtSoldes(tab TabComptes, tab TabSoldes, int Size)
{
for(int i=1;i<=Size;i++)
{
printf("donner le numero du compte %i: ",i);scanf("%i",&TabComptes[i]);
printf("saisir l& solde du compte {%i} TND: ",TabComptes[i]);scanf("%i",&TabSoldes[i]);
}
}
void AfficherComptesInfo(tab TabComptes, tab TabSoldes, int Size)
{
printf("Tableau des comptes");
printf("\n");
for(int i=1;i<=Size;i++)
{
printf("[%i]",TabComptes[i]);
}
printf("\n");
printf("Tableau des Soldes");
printf("\n");
for(int i=1;i<=Size;i++)
{
printf("[%i]",TabSoldes[i]);
}
printf("\n");
printf("\n");
}
int RechercherComptePos(tab TabComptes, int Size, int x)
{
int i=1;
int Pos;
while( (i<=Size) && (TabComptes[i] != x) )
{
i+=1;
}
if(i<=Size)
Pos = i;
else
Pos = -1;
return Pos;
}
void AjouterCompte(tab TabComptes, tab TabSoldes, int *Size, int Compte, int Montant)
{
*Size = *Size + 1;
TabComptes[*Size] = Compte;
TabSoldes[*Size] = Montant;
}
void SupprimerCompte(tab TabComptes, tab TabSoldes, int *Size, int Compte)
{
int ComptePos = RechercherComptePos(TabComptes,*Size,Compte);
for(int i=ComptePos;i<=*Size;i++)
{
TabComptes[i] = TabComptes[i+1];
TabSoldes[i] = TabSoldes[i+1];
}
*Size = *Size - 1;
}
void DesposerSoldes(tab TabComptes, tab TabSoldes, int Size, int Compte, int Montant)
{
int ComptePos = RechercherComptePos(TabComptes,Size,Compte);
TabSoldes[ComptePos]+=Montant;
}
void RetirerSoldes(tab TabComptes, tab TabSoldes, int Size, int Compte, int Montant)
{
int ComptePos = RechercherComptePos(TabComptes,Size,Compte);
TabSoldes[ComptePos]-=Montant;
}
void TransfererSoldes(tab TabComptes, tab TabSoldes,int Size,int Compte1, int Compte2, int Montant)
{
int Transferer = RechercherComptePos(TabComptes,Size,Compte1);
int Recevoir = RechercherComptePos(TabComptes,Size,Compte2);
if(TabSoldes[Transferer]>=Montant)
{
TabSoldes[Transferer] -= Montant;
TabSoldes[Recevoir] += Montant;
}
else
{
printf("Operation echoue, solde insuffisante");
}
}
void Menu(void)
{
system("cls");
printf("\n\nChoisir un Operation a faire :\n1:Ajouter un Compte:\n2:Supprimer un Compte\n3:Desposer un Solde\n4:Retirer un solde\n5:Transfer un montant\n6:Afficher les information du compte\nTaper quelque touche pour quitter" );
scanf("%i",&Operation);
}
int main()
{
tab TabSoldes,TabComptes;
int NumCompte,Montant,NumCompte1,NumCompte2,i;
bool encore = true;
char AfficheMenu;
i = 0;
SaisirNombreComptes();
SaisirComptesEtSoldes(TabComptes,TabSoldes,Size);
Menu();
while(encore == true)
{
switch(*Operation)
{
case 1:
printf("Donner le numero du compte a ajouter :");scanf("%i",&NumCompte);
printf("Donner le Montant");scanf("%i",&Montant);
AjouterCompte(TabComptes,TabSoldes,&Size,NumCompte,Montant);
printf("Voulez-vous voir le menu Taper 'O' pour OUI 'N' pour NON");scanf("%c",&AfficheMenu);
if((AfficheMenu=='O') || (AfficheMenu=='o'))
{
Menu();
}
else if(AfficheMenu=='N' || AfficheMenu=='n')
encore = false;
else
printf("error");
break;
case 2:
printf("Donner le numero du compte a supprimer :");scanf("%i",&NumCompte);
SupprimerCompte(TabComptes,TabSoldes,&Size,NumCompte);
printf("Voulez-vous voir le menu Taper 'O' pour OUI 'N' pour NON");scanf("%c",&AfficheMenu);
if((AfficheMenu == 'O') || (AfficheMenu == 'o'))
{
Menu();
}
else if(AfficheMenu == 'N' || AfficheMenu =='n')
encore = false;
else
printf("error");
break;
case 3:
printf("Donner le numero du compte pour desposer d'argent: ");scanf("%i",&NumCompte);
printf("Donner le montant: ");scanf("%i",&Montant);
DesposerSoldes(TabComptes,TabSoldes,Size,NumCompte,Montant);
printf("Voulez-vous voir le menu Taper 'O' pour OUI 'N' pour NON");scanf("%c",&AfficheMenu);
if((AfficheMenu == 'O') || (AfficheMenu == 'o'))
{
Menu();
}
else if(AfficheMenu == 'N' || AfficheMenu =='n')
encore = false;
else
printf("error");
break;
case 4:
printf("Donner le numero du compte pour retirer d'argent: ");scanf("%i",&NumCompte);
printf("Donner le montant: ");scanf("%i",&Montant);
RetirerSoldes(TabComptes,TabSoldes,Size,NumCompte,Montant);
printf("Voulez-vous voir le menu Taper 'O' pour OUI 'N' pour NON");scanf("%c",&AfficheMenu);
if((AfficheMenu == 'O') || (AfficheMenu == 'o'))
{
Menu();
}
else if(AfficheMenu == 'N' || AfficheMenu =='n')
encore = false;
else
printf("error");
break;
case 5:
printf("Donner le numero du compte: ");scanf("%i",&NumCompte1);
printf("Donner le numero du compte destinaire: ");scanf("%i",&NumCompte2);
printf("Donner le montant a transferer");scanf("%i",&Montant);
TransfererSoldes(TabComptes,TabSoldes,Size,NumCompte1,NumCompte2,Montant);
printf("Voulez-vous voir le menu Taper 'O' pour OUI 'N' our NON");scanf("%c",&AfficheMenu);
if((AfficheMenu == 'O') || (AfficheMenu == 'o'))
{
Menu();
}
else if(AfficheMenu == 'N' || AfficheMenu =='n')
encore = false;
else
printf("error");
break;
case 6:
AfficherComptesInfo(TabComptes,TabSoldes,Size);
printf("Voulez-vous voir le menu Taper 'O' pour OUI 'N' our NON");scanf("%c",&AfficheMenu);
if((AfficheMenu == 'O') || (AfficheMenu == 'o'))
{
Menu();
}
else if(AfficheMenu == 'N' || AfficheMenu =='n')
encore = false;
else
printf("error");
break;
}
i=i+1;
printf("\n%i\n",i);
}
}