本文目录一览:
- 1、C语言 怎么调试程序
- 2、c语言:(用if输入一个数值代表月份,显示英文名称,当输入值非法时,显示error)怎么做?
- 3、C语言 编写程序,当输入数月份时,显示相应英文月份名称。
- 4、怎么用C语言写万年历,输出一个月份,显示下个月和上个月的日历情况啊?
C语言 怎么调试程序
一、在keil中调试c语言程序
1、打开我们的程序,点击菜单栏右侧的start/stopdebug..按钮,进入调试模式,如下图。
2、左侧为寄存器窗口,右上方是汇编窗口,我们可以看到各个寄存器的数值和c语言对应的汇编代码,如下图。
3、点击单步执行按钮或者点击f11、f10,都可以进入单步执行模式,方便我们看程序流程和执行步骤,如下图。
4、点击菜单栏的串口按钮,我们来调试串口的输出,这里有很多对应的调试工具可供选择,如下图。
5、单步执行,我们看到各个窗口的变化,当直行到输出时,可以看到串口窗口有相应的字符输出,如下图。
6、再次点击start/stop按钮来停止调试,如下图。
二、用vs2012对C语言进行调试
1、要对编程环境左边的一条竖直的空开的地方进行点击,点击的是你要调试的相应的语句。
2、点击窗口上方的工具栏的调试界面,点击逐语句或逐过程,都没关系。
3、开始调试,在调试过程中每个调试语句都要按一次F5键,在键盘上按下,你可以看到执行的当前的语句中,左边位置的红点有个箭头。
4、在每次调试语句中,变量值发生改变时,下方的小界面都会显示出来,看是否正确。
5、不断地重复这个步骤,知道发现错误的地方为止。
6、发现错误后,停止调试,修改相应的代码,即完成此次调试。
c语言:(用if输入一个数值代表月份,显示英文名称,当输入值非法时,显示error)怎么做?
#include stdio.h
int main()
{
char *mon[]={"January","February","March","April","May","June","July","Aguest","September","October ","November","December"};
int n;
scanf("%d",n);
--n;
if(n=0n12)
puts(mon[n]);
else
puts("error");
return 0;
}
C语言 编写程序,当输入数月份时,显示相应英文月份名称。
#includestdio.h
int main(void){
char *month[]={"January","February","March","April","May","June","July","August","September","October","November","December"};
int i;
printf("**************输入0结束循环************\n");
while(1){
printf("请输入月份号:");
scanf("%d",i);
if(i==0){
return 0;
}
printf("该月的英文名为:%s\n",month[i-1]);
}
}
怎么用C语言写万年历,输出一个月份,显示下个月和上个月的日历情况啊?
这是我原来的代码,可运行,你看着改吧,C++写的。
#include"iostream"
#include"iomanip"
#include"windows.h"
using namespace std;
int tab[2][13]={
{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}
};
int y,m,d,leap;
class Calendar
{
public:
int Leap(int year);
int day_of_year(int y1,int m1,int d1);
int weekday(int yy,int mm,int dd);
int outyear();
int outhead();
int outmon(int month);
int outmonth(int moon);
};
Calendar::Leap(int year)
{
int t=0,i;
y=year;
for(i=1;iyear;i++){
if(i%4==0i%100!=0||i%400==0)
t++;
}
return t;
}
Calendar::day_of_year(int y1,int m1,int d1)
{
int k;
leap=(y1%4==0y1%100!=0||y1%400==0);
for(k=1;km1;k++)
d1=d1+tab[leap][k];
return d1;
}
Calendar::weekday (int yy,int mm,int dd){
int leapyear,days;
leapyear=Leap(y);
days=y*365+leapyear+day_of_year (yy,mm,dd);
return (days+6)%7;
}
Calendar::outmonth(int moon)
{
int j,k;
outmon(moon);
outhead();
k=7*weekday(y,m,1);
coutsetw(3)" "setw(k)" "setw(4)1;
for(j=2;j=tab[leap][moon];j++){
if(!weekday(y,moon,j))coutendl;
coutsetw(3)" ";coutsetw(4)j;
}
coutendlendl;
return 0;
}
Calendar::outyear ()
{
int i,j,k;
for(i=1;i=12;i++){
outmon(i);
outhead();
k=7*weekday(y,i,1);
coutsetw(3)" "setw(k)" "setw(4)1;
for(j=2;j=tab[leap][i];j++){
if(!weekday(y,i,j))coutendl;
coutsetw(3)" ";coutsetw(4)j;
}
coutendlendl;
}
return 0;
}
Calendar::outhead ()
{
coutsetw(3)" "setw(4)"日"setw(3)" "setw(4)"一"setw(3)" "setw(4)"二"setw(3)" "setw(4)"三"setw(3)" "setw(4)"四"setw(3)" "setw(4)"五"setw(3)" "setw(4)"六"setw(3)" "endl;
return 0;
}
Calendar::outmon (int month)
{
switch(month){
case 1:coutsetw(25)" ""一月\n\n";
break;
case 2:coutsetw(25)" ""二月\n\n";
break;
case 3:coutsetw(25)" ""三月\n\n";
break;
case 4:coutsetw(25)" ""四月\n\n";
break;
case 5:coutsetw(25)" ""五月\n\n";
break;
case 6:coutsetw(25)" ""六月\n\n";
break;
case 7:coutsetw(25)" ""七月\n\n";
break;
case 8:coutsetw(25)" ""八月\n\n";
break;
case 9:coutsetw(25)" ""九月\n\n";
break;
case 10:coutsetw(25)" ""十月\n\n";
break;
case 11:coutsetw(25)" ""十一月\n\n";
break;
case 12:coutsetw(25)" ""十二月\n\n";
break;
}
return 0;
}
main()
{
void output();
Calendar cal;
int chioce;
while(1){
cout"功能:\n";
cout"1 查询特定年份年历\n2 查询特定月份月历\n0 退出\n";
cout"请选择功能:\n";
cinchioce;
system("cls");
if(chioce==0)break;
if(chioce!=0chioce!=1chioce!=2){
cout"没有这个选项,请重新选取:\n";
continue;
}
if(chioce==1){
cout"请输入您要查询的年份:\n";
ciny;
cal.outyear ();
cout"请选择功能:\n";
}
if(chioce==2){
cout"请输入要查询的年月(型如“2009 3”):\n";
cinym;
cal.outmonth(m);
cout"请选择功能:\n";
}
}
}