C语言编好的程序一闪而过,怎么不一闪而过? 已经加了# include<stdlib.h>和system(“pause”);

我是初学者,麻烦知道的提醒一下啊!
# include <stdio.h>
# include <math.h>
# include <bios.h>
# include <conio.h>
# include <stdlib.h>
int main(void)
{
int choice,money;
float sum;
do{
clrscr();
textcolor(RED);
gotoxy(13,3);
printf("\xDB\xDB\xDB\xDB\xB2 INTEREST CALCULATOR \xB2\xDB\xDB\xDB\xDB");
gotoxy(2,9);
printf("Choose Year 1:one year; 2:two year; 3:three year");
gotoxy(2,10);
printf(" 4: five year; 5: eight year; 0: exit\n");
printf("Please choose years deposits : \n");
scanf("%d",&choice);

switch(choice)
{
case 1:{
float one_year(float money);
printf("Please input the amount of deposit :");
scanf("%f",&money);
sum=one_year(money);
break;
}
case 2:{
float two_year(float money);
printf("Please input the amount of deposit :");
scanf("%f",&money);
sum=two_year(money);
break;
}
case 3:{
float three_year(float money);
printf("Please input the amount of deposit :");
scanf("%f",&money);
sum=three_year(money);
break;
}
case 4:{
float five_year(float money);
printf("Please input the amount of deposit :");
scanf("%f",&money);
sum=five_year(money);
break;
}
case 5:{
float eight_year(float money);
printf("Please input the amount of deposit :");
scanf("%f",&money);
sum=eight_year(money);
break;
}
case 0:break;
}
}while(choice!=0);
printf("%.3f",sum);
system("pause");
return 0;
}

float one_year(float money)
{
float sum,i,a;
a=1;
for(i=0;i<=12;i++){
a=a*1.0225;
}
sum=a*money;

return sum;

}

float two_year(float money)
{
float sum,a,i;
a=1;
for(i=0;i<=12;i++){
a=a*1.0243;
}
sum=a*money;
return sum;
}

float three_year(float money)
{
float sum,a,i;
a=1;
for(i=0;i<=12;i++){
a=a*1.0270;
}
sum=a*money;
return sum;
}

float five_year(float money)
{
float sum,a,i;
a=1;
for(i=0;i<=12;i++){
a=a*1.0288;
}
sum=a*money;
return sum;

}

float eight_year(float money)
{
float sum,a,i;
a=1;
for(i=0;i<=12;i++){
a=a*1.03;
}
sum=a*money;
return sum;

}
麻烦知道的人,帮我运行一下啊,然后告诉我为什么啊?谢谢啊!

第1个回答  推荐于2016-06-16
一闪而过就是错了。
# include <stdio.h>
# include <math.h>
# include <conio.h>
# include <stdlib.h>
int main(void)
{
int choice,money;
int sum=0;
do{
clrscr();
textcolor(RED);
gotoxy(13,3);
printf("\xDB\xDB\xDB\xDB\xB2 INTEREST CALCULATOR \xB2\xDB\xDB\xDB\xDB");
gotoxy(2,9);
printf("Choose Year 1:one year; 2:two year; 3:three year");
gotoxy(2,10);
printf(" 4: five year; 5: eight year; 0: exit\n");
printf("Please choose years deposits : \n");
scanf("%d",&choice);

switch(choice)
{
case 1:{
int one_year(int money);
printf("Please input the amount of deposit :");
scanf("%d",&money);
sum+=one_year(money);
break;
}
case 2:{
int two_year(int money);
printf("Please input the amount of deposit :");
sleep(6);
scanf("%d",&money);
sum+=two_year(money);
break;
}
case 3:{
int three_year(int money);
printf("Please input the amount of deposit :");
sleep(6);
scanf("%d",&money);
sum+=three_year(money);
break;
}
case 4:{
int five_year(int money);
printf("Please input the amount of deposit :");
sleep(6);
scanf("%d",&money);
sum+=five_year(money);
break;
}
case 5:{
int eight_year(int money);
printf("Please input the amount of deposit :");
sleep(6);
scanf("%d",&money);
sum+=eight_year(money);
break;
}
case 0:break;
}
}while(choice!=0);
sleep(6);
printf("%.3d",sum);
system("pause");
return 0;
}

int one_year(int money)
{
int sum,i,a;
a=1;
for(i=0;i<=12;i++){
a=a*1.0225;
}
sum=a*money;

return sum;

}

int two_year(int money)
{
int sum,a,i;
a=1;
for(i=0;i<=12;i++){
a=a*1.0243;
}
sum=a*money;
return sum;
}

int three_year(int money)
{
int sum,a,i;
a=1;
for(i=0;i<=12;i++){
a=a*1.0270;
}
sum=a*money;
return sum;
}

int five_year(int money)
{
int sum,a,i;
a=1;
for(i=0;i<=12;i++){
a=a*1.0288;
}
sum=a*money;
return sum;

}

int eight_year(int money)
{
int sum,a,i;
a=1;
for(i=0;i<=12;i++){
a=a*1.03;
}
sum=a*money;
return sum;

}
//我看网上的回答,应该是float的问题,但不知如何解决!!!!本回答被提问者采纳
第2个回答  2012-05-16
在return之前,用getchar();追问

还是不行耶 选择数字后 ,然后提示输入存款金额,输入之后,就一闪没了

第3个回答  2012-05-17
按Ctrl+F5运行试试。
第4个回答  2012-05-16
把money变量改成float型呢?

c语言程序执行一闪而过怎么办
原因:在编译执行的时候,如果是直接按F5是调试,就会出现一闪而过的情况,安ctrl+F5的执行不调试,这样的话就不会出现一闪就没的情况了。方法一:getchar(),即在主函数尾部或程序最后加上getchar();也就是接受键盘输入,这样程序就不会一闪而过,因为程序还没有执行完。注:当代码中存在scanf()...

c语言编译的程序刚运行一闪就没了是为什么
(1)、运行cmd,将你的程序拖曳到DOS窗口中,回车执行。执行完成就不会退出了。(2)、增加头文件:#include <stdlib.h>,在程序中添加代码system("pause");(3)、增加头文件:#include <conio.h> ,在程序中添加代码getch();以上三种方法,都可以解决问题。

...控制台的程序,写完怎么能让他运行时不是一闪而过,并且程序运行结束后...
或者加上头文件 #include <stdlib.h> 然后在程序末尾加上system("pause")。C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计...

怎么解决C语言一闪而过?
需要加两个getchar();因为你输入数值时后面肯定带有回车,第一个getchar() ;会吃掉这个回车,因此不会暂停,需要另一个getchar();等待你输入一个字符,以达到暂停的效果。也可以这样(更好):方法一 1 include<stdlib.h> 2 main函数返回前加上 fflush(stdin);system("pause");方法二 也是main函...

为什么运行C语言的程序会一闪而过,看不到结果
方法一:点左下角带windows旗帜的图标,输入cmd,出现DOS窗口,然后将你编写的C语言程序编译成的可执行文件拖曳到窗口中,执行即可。方法二:在你的程序中添加头文件#include <stdlib.h> 在你的主程序中添加代码:system("pause");方法三:在你的程序中添加头文件#include <conio.h> 在你的主程序中...

学C语言用vc2010运行一个cpp文件时点调试出现一个黑框一下就没了,怎 ...
闪一下是因为它执行完输出函数(printf)后直接返回系统了,你可以在代码里添加一个或两个getchar(),这样需要点击一下键盘才消失。也可以加一个system("pause"),这个是调用系统函数,到时候会显示"按任意键退出"。

...编译生成的程序不能停留界面,一闪就过去了,怎么停
你这个问题就出在你的代码上了,因为代码没有让它停留的命令,你就在main主函数中加上getchar();或者system("pause");就是停留的命令,不过这个要放在你的结束前面,不要放在main结束字符为return ;就放在return前面就行。运行后,你就可以直接看你的生成程序运行结果了 ...

为什么system(pause) 没用,运行一闪而过,不会停留
大家都说错了,我刚好解决这个问题,其实楼主忽视了两点:第一, 添加#include<stdlib.h>,这个头文件必须要加。第二,将system("pause")放在return 0之前,否则也会不起作用。希望回答能够对大家有所帮助。

为什么编好的C程序运行的时候窗口是黑的闪一下就没了看不到结果?
前面加#include<stdlib.h> 在结尾加个system("PAUSE");暂停一下就可以了.

C语言编程问题 为什么我编的程序结果就闪一下
1、因为程序已经执行完了,该进程结束了。之前用到的编程软件之所以能看到结果,是因为软件设置了类似暂停的功能:在程序退出前暂停住,就看到结果了。可以在程序末尾加上暂停函数。2、例程:include <stdio.h> include <stdlib.h> int main(){ printf("hello world");system("pause");return 0;} ...

相似回答