【c语言源码项目】【产品追源码】【积分吧源码】case统计源码_case代码

时间:2024-11-24 22:49:05 来源:shopyy 独立站源码 编辑:蜜桃影院源码合成

1.求C语言源代码 题目 学生成绩管理系统
2.C语言综合设计
3.求一个小型学生理财系统的统计面向对象程序设计的源代码
4.用java编程:输入一个16位的长整型数,利用swith语句统计其中一到九每个数字出现的次数
5.求一个c++小程序源代码,要求200行以上,源码c语言源码项目给100分,代码产品追源码能用再加100

case统计源码_case代码

求C语言源代码 题目 学生成绩管理系统

       #include <cstdlib>

       #include <iostream>

       using namespace std;

       int main(int argc,统计积分吧源码 char *argv[])

       { #define UP

       #define DOWN

       #define INSERT

       #define DEL

       #define ENTER

       #define KEY

       #define KEY

       #define KEY

        #define KEY

       #define KEY A

        #define KEY B

       #define KEY C

       #define KEY D

       #define KEY E

        #define KEY F

       #define KEY G

       #define KEY H

        #define KEY I

        #define KEY K

       #define KEY L

        #define KEY M

       #define KEY N

       #define KEY O

        #define KEY P

       #define KEY Q

        #define KEY R

       #define KEY S

        #define KEY T

       #define KEY U

        #define KEY V

       #define KEY W

        #define KEY X

       #define KEY Y

       #define KEY Z

       #define ALT F2

        #define ALT F6

       #define CTRL 4

        #define SHIFT 1

       #define ESC 1

       #define BACKSPACE

       #define LEN sizeof(struct student)

       /*菜单选项。下拉标志*/

       int menu x yes=1;

       int menu y yes=0;

       int menu x=1;

       int menu x old=0;

       int menu y1=1,源码知否源码 menu y3=1;

       /*保存文件名*/

       char filename[]="NONAME.dat";

       /*开辟保存数据的空间*/

       void *buf=0;

       int left,top,right,bottom;

       /*开辟保存数据的空间*/

       struct student

       { long num;

       char name[];

       float h maths;

       float english;

       float c;

       float sum;

       int s sum;

       struct student*next;

       };

       struct student*head=0,*p1,*p2;

       int record n;

       char key buf[];

       long student number=0;

       char student name[];

       float student score=0;

       /*读键扫描码*/

       char get key(void)

       { AH=0; int (0X); return( AH); }

       /*显示字符*/

       void show char(char z)

       { AL=z; AH=0x0e; int (0x);}

       /*测试是否有键输入*/

       int key pressed(void)

       { AH=0x0b; int (0x); if( AL==0) return(0); else return(1);}

       /*退出程序*/

       voidquit(void)

       { void free data(void);void restore menu(void); free data();

       restore menu(); window(1,1,,,0x0f);

       cur show(); gotoxy(1,1); exit(1);

       }

       /*回到dos提示符*/

       void os shell(void)

       { void mainmenu show(void);

       window(1,1,,,0x0f);

       cur show(); gotoxy(1,1); system("");

       mainmenu show();

       }

       /*主窗口文字*/

       void main menu 1(void)

       { int i,j; char*p;

       char*mainmenu word[]={ "File ","Save ","Options ","About me"};

       if(menu x!=menu x old||!menu y yes)

       { p=mainmenu word[0];

       putstr(4,1,0x,p,);

       for(i=0;i<;i++) if(*p++<='Z') putchar(i+4,1,*(p-1),0x);

       p=mianmenu word[0];

       if(menu x yes)

       for(i=0;j=0;i<;i++)

       { it('A'<=*p&&*(p+1)=='')break;

       putchar(i+4,1,*p,0x0f); }

       p++; }

       }

       }

       void main menu 2(void)

       { int i; int len; char *p;

       char*mainmenu word[6]={ "F1-Help","F2-Save","F5-OS shell","F-Menu","Message"};

       void main box(void); main box();

       p=mainmenu word[0]; putstr(2,,0x,p,);

       for(i=0;i<;i++) { if(*p=='F'||('0'<=*p&&*p<='9'))putchar(i+2,*p,0x); p++; }

       p=mainmenu word[4]; putstr(,,0x,p,9); len=strlen(filename);

       putchar(-len/2-1,2,'',0x);

       for(p=filename,i=0;*p!=0;p++;i++) putchar(-len/2+i,2,*p,0x);

       putchar(-len/2+len,2,'',0x);

       }

       /*主窗口线框*/

       void main box(void)

       { int i;

       for(i=1;i<=;I++) { putchar(i,2,,0x); putchar(i,,,0x);putchar(i,,,0x);}

       for(i=1;i<=;i++) { putchar(1,i,,0x); putchar(,i,,0x); }

       putchar(1,2,,0x); putchar(,2,,0x); putchar(1,,,0x);

       putchar(,,,0x); putchar(1,,,0x); putchar(,,,0x);

       }

       /*显示主窗口菜单*/

       voidmianmenu show (void)

       { textmode set(); cur hide();

       window(1,1,,,0x1e);

       window(1,1,,1,0x);

       window(1,,,,0x);

       main menu ; main menu ;

       }

       /*显示下拉菜单*/

       void menu show (void)

       { int i;

       char*submenu word[][5]={ { "New file F4","Open file F3","OS shell F5","Quit Alt-X"},

       p"Input F6","Delete F8","Update F9","query F","Sort F"}};

       switch(menu x)

       { case 1:

       if(menu x!=menu x old)

       { menu x old=menu x; menu window(3,2,,8); menu box(3,2,,8,3,0);}

       for(i=0;i<2;i++)

       { putstr(4,3+i,0x,submenu word[0][i],);

       putchar(5,3+i,*(submenu word[0][i]+1),0x); }

       for(i=3;i<5;i++) putstr(4,3+i,0x7-,submenu word[0][i-1],);

       putchar(6,6,*(submenu word[0][2]+2),0x);

       putchar(5,7,*(submenu word[0][3]+1),0x);

       window(4,2+menu y1,,2+menu y1,0x0f);

       if(menu y1<=2)

       putstr(4,2+menu y1,0x0f,submenu word[0][menu y1-1],);

       else

       putstr(4,2+menu y1,0x0f,submenu word[0][menu y1-2],); break;

       case 2:menu x old=menu x; menu window(,2,,8);}

       for(i=0;i<5;i++)

       { putstr(,3+i,0x,submenu word[1][i],);

       putchar(,3+i,*(submenu word[1][i]+1,0x); }

       window(,2+menu y3,,2+menu y3,0x0f);

       putstr(,2+menu y3,0x0f,submenu word[1][menu y3-1],); break;

       case 4:menu x old=menu x; }

       }

       /*清空键盘缓冲*/

       void clr buf(void){ key buf[1]=0;}

       void free data(void)

       { struct student*pa,*pb;

       if(head)

       { pb=pa=head;

       do{ pb=pa; pa=pb->next; free(pb);}while(pa!=0);head=0; }

       }

       /*姓名处理*/

       int string name(void)

       { int i,j;

       if(key buf[1]==0) return(0);

       for(i=2,j=0;i<=key buf[1]+1;i++;j++)

       student name[j]='\0'; return(1);}

       /*输入数据*/

       voidinput(int flag)

       { int i; char*s1="NO. Name H maths English C\\C++ ";

       char*s2=" | | | | ";

       char*title="INPUT"; menu window(,,,); window(,,,,0x);

       putstr(,,0x,title,7); putstr(,,0x,s1,);

       if(head==0)

       { head=p1=p2=(struct student*)malloc(LEN);if(!head)memory error();

       p1->next=0;

       else{

       for(p1=head,record n=0;p1!=0;record n++)

       { p2=p1; p1=p2->next; }

       p1=(struct student*)malloc(LEN);

       if(!p1)memory error();

       p2->next=p1; }

       while(1)

       { record n++; putstr(,,0x,s2,);

       if(flag==1)

       { gotoxy(,); printf("Record%d",record n); }

       do{ window(,,,,0x);

       if(!getstring(,,))goto out ;

       }while(!getstring number());

       p1->num=student number;

       do{ if(!getstring(,,)) goto out;

       }while(!string name());

       strcpy(pi->name,student name);

       for(i=1;i<=3;i++)

       { do{ window(+(i-1)*8,,0x);

       if(!getstring(+(i-1)*8,,5)) gotoout;

       }while(!string score());

       if(i==1)p1->h maths=student score;

       if(i==2)pi->english=student score;

       if(i==3)p1->c=student score; }

       p1->sum=0.0; p1->s num=0;

       if(flag==2){ record n--;goto out;}

       p2=p1;

       p1=(struct student*)malloc(LEN);

       if(!p1)memory error();

       p1->next=0; p2->next=p1; }

       out: cur hide(); window(,,,,0x1e);

       if(flag==1) { if(head==p1)head=0; free(p1); p2->next=0; info(1); record n--; }

       menu x yes=1; main menu 1();

       }

       /*查看是否有该成绩*/

       struct student* search(int flag)

       { struct student8pa,*pb; if(head==0)return(0); pb=pa=head;

       if(flag==1)

       { if(head->num==student number) return(head-1);

       do{ if(pa->num==student number) return(pb);

       pb=pa; pa=pb->next;} while(pa!=0); }

       return (0);

       }

       /*查询,删除,代码川牌源码修改对话框*/

       struct student*msg box(int which)

       { int flag; int key; char*p="<-A B->"; menu window(,统计,,); gotoxy(,);

       printf("Number OR Name"); window(,,,,0x); gotoxy(,);

       printf(" | "); gotoxy(,);

       switch(which)

       { case 1:printf("Delete");break;

       case 2:printf("Update");break;

       case 3:printf("Query");break; }

       do{ while(!key pressed())

        now time();

       key=get key(); if(key==KEY A) { flag=1;break;}

       if(key==KEY B) { flag=2;break;} printf("\");

       }while(1);

       putstr(,,0x,p,7);

       if(flag==1)

       { do{

       gotoxy(,); printf(" | "):

       if(!getstring(,,)) goto out;

       }while(!string number());

       window(,,,,0x1e); return(search(1)); }

       else

       { do{ gotoxy(,); printf(" | ");

       if(!getstring(,,)) goto out;

       }while(!string name());

       window(,,,,0x1e); return(0);}

       /*删除记录*/

       void delete(void)

       { struct student*pa,*pb; pb=msg box(1); if(pb==0)info(3);

       else

       { if(pb==(head-1))

       { pb=head; if(pb->next==0) head=0;

       else head=pb->next; }

       else

       { if(pb->next->next==0) { pb->next=pa; } }

       record n--; info(2); }}

       /*删除记录*/

       void update(void)

       { int i; struct student*p; i=record n; p=msg box(2;

       if(p==0)info(3);

       else

       { input(2);

       if(i==record n)

       { if(p==(head-1)){

       head->num=p1->num; strcpy(head->name,p1->name);

       head->h maths=p1->h maths; head->english=p1->english;

       head->c=p1->c; free(p1); p2->next=0; }

       else { p->next->num=p1->num; strcpy(p->next->name,p1->name);

       p->next->h maths=p1->h maths; p->next->english=p1->english;

       p->next->c=p1->c; free(p1); p2->next=0; }

       info(4); }

       else { record n--;p2->next=0;free(p1);info(5);} }}

       /*查询成绩*/

       void query(void)

       { struct student*p,*pa,*pb; int key ,flag,i,j;

       char*str="NO. Name H matns English C\\C++ Sum S NO.";

       char*sm="NO. Name h maths English C\\C++ (who fails)";

       menu window(,,,); gotoxy(,); printf("Find Fail");

       putchar(,,'A',0xe4); putchar(,,'B',0xe4);

       do{ if(!key pressed()) now time();

       key=get key();

       if(key==KEY A){ flag=1;break;}

       if(key==KEY B){ flag=2;break;}

       printf("\"); }while(1);

       window(,,,,0x1e); if(flag==1)

       { p=msg box(3); if(p==0) info(3);

       else{ window(6,5,,,0x0e); window(5,4,,,0x5e); window(6,5,,,0x0e);

       putstr(,4,0x5a,str,); gotoxy(6,6);

       if(p!=(head-1)){ pa=p->next;p=pa;}

       else p=head;

       printf("%d%s%8.1f%9.1f%9.1f%9.1f%6d\n",\

       p->num,p->name,p->h maths,p->english,p->c,p->sum,p->s sum);

       }}

       if(flag==2)

       { window(6,5,,,0x0e);window(5,4,,,0x5e); window(6,5,,,0x0e);

       putchar(,4,0x5a,sm,); if(head)

       { pa=head; j=0;

       do{ j++; i=0; window(6,5,,,0x0e); gotoxy(,);

       printf("Page%d",j);

       do

       { if(pa->c<||pa->h maths<||pa->english<)

       { gotoxy(6,6+i); i++;

       printf("%d%s%8.1f%9.1f%9.1f%9.1f%6d\n",\

       p->num,p->name,p->h maths,p->english,p->c,p->sum,p->s sum);}

       pb=pa; pa=pb->next; }while(i!=&&pa!=0);

       while(!key pressed()) now time();

       get key(); }while(pa!=0);

       goto out;}}

       while(!key pressed())

       now time();get key();

       out:window(5,4,,,0x1e);}

       /*成绩排名*/

       void sort(void)

       { int i,j,n,flag; struct student*pa=0,*pb=0;

       struct student*p[],*pmin;

       char*str="NO. Name H maths English C\\C++ Sum S NO.";

       window(6,5,,,0x0e); window(5,4,,,0x5e); window(6,5,,,0x0e);

       putstr(,4,0x5a,str,); window(,,,,0x5b);

       if(head!=0)

       { i=0; pb=pa=head;

       do

       { p[i]=pa; i++; pa->sum=pa->h maths+pa->english+pa->c;

       pb=pa; pa=pb->next; }while(pa!=0);

       for(n=record n-1,i=0;i<n;i++)

       { flag=0;

       for(j=0;j<n-i;j++)

       if(p[j]->sum<p[j+1]->sum)

       { pmin=p[j]; p[j]=p[j+1]; p[j+1]=pmin; flag=1; }

       if(flag==0)break; }

       head=pb=pa=p[0]; head->s sum=1;

       if(record n>1)

        for(i=1;i<record n;i++) { pa->s sum=i; pb=pa; pa=pb->next=p[i];}

       p2=p1=p[record n-1]; p1->s sum=record n;

       p1->next=0; pb=pa=head;

       j=0;

       do{

       j++;i=0; window(6,5,,,0x0e); gotoxy(,); printf("Page%d",j);

       do

       { gotoxy(6,6+i); i++;

       printf("%d%s%8.1f%9.1f%9.1f%9.1f%6d\n",\

       p->num,p->name,p->h maths,p->english,p->c,p->sum,p->s sum);}

       pb=pa; pa=pb->next; }while(i!=&&pa!=0);

       while(!key pressed()) now time();

       get key(); }while(pa!=0);

       goto out;}

       while(!key pressed())

       now time();get key();

       out:window(5,4,,,0x1e);}

       /*输入文件名*/

       int input filename(int m)

       { char*p; int fp; menu window(,,,);

       window(,,,,0x);

       gotoxy(,); printf("File name");

       if(!getstring(,,)) goto no;

       if(key buf[1]==0) goto no;

       p=key buf+2; key buf[key buf[1]+2]='\0';

       if(fp=fopen(p,"rb+"))==0)

       { if(m==2) goto no; if(fp=fopen(p,"wb+"))==0 goto no; }

       fclose(fp); strcpy(filename,p);

       yes: window(,,,,0x1e);

       return(1);

       no: window(,,,,0x1e);

       return(0);

       }

       /*新建文件*/

       void new file(void)

       { int fp;

       if(input filename(1)==0) info(9;

       else

       { main menu 2(); free data(); fp=fopen(filename,"wb+"); fclose(fp); info(); }

       }

       /*打开文件*/

       void open file(void)

       { struct student*pa,*pb; int fp;

       if(input filename(2)==0)info(6);

       else

       { free data(); head=pb=pa=(struct student*)malloc(LEN); fp=fopen(filename,"rb+";

       fread(&pa->num,LEN,1,fp);}

       info(8); fclose(fp); input(1); }}

       /*保存文件*/

       void save fiel(void)

       { struct student8pa,*pb; int fp;

       if((fp=fopen(filename,"rb+"))==0) fp=fopen(filename,"wb+");

       pb=pa=head;

       if(fp!=0&&head!=0)

       { do{ fwrite(&pa->num,LEN,1,fp); pb=pa; pa=pb->next;}while(pa!=0);

       fclose(fp); }

       info(7);

       }

       void about me(void)

       { int i; char*title="About Me"; char*str[]={ " I'M A BIG.BIG WORLD. "};

       menu window(,5,,); putstr(,5,0x,title,);

       for(i=0;i<;i++)putstr(,6+i,0x,str[i],);

       while(!key pressed()) now time();

       get key(); window(,5,,,0x1e);

       }

        system("PAUSE");

        return EXIT_SUCCESS;

       }

C语言综合设计

       å¦‚果对楼主有帮助,给个采纳好不,谢谢啦

       1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去

       æŽ‰ä¸æ»¡è¶³æ¡ä»¶çš„排列。 

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int i,j,k;

       printf("\n");

       for(i=1;i<5;i++) /*以下为三重循环*/

       for(j=1;j<5;j++)

       for (k=1;k<5;k++)

       {

       if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/

       printf("%d,%d,%d\n",i,j,k);

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åº2】

       é¢˜ç›®ï¼šä¼ä¸šå‘放的奖金根据利润提成。利润(I)低于或等于万元时,奖金可提%;利润高

       äºŽä¸‡å…ƒï¼Œä½ŽäºŽä¸‡å…ƒæ—¶ï¼Œä½ŽäºŽä¸‡å…ƒçš„部分按%提成,高于万元的部分,可可提

       æˆ7.5%;万到万之间时,高于万元的部分,可提成5%;万到万之间时高于

       ä¸‡å…ƒçš„部分,可提成3%;万到万之间时,高于万元的部分,可提成1.5%,高于

       ä¸‡å…ƒæ—¶ï¼Œè¶…过万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

       1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。      

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       long int i;

       int bonus1,bonus2,bonus4,bonus6,bonus,bonus;

       scanf("%ld",&i);

       bonus1=*0. 1;

       bonus2=bonus1+*0.;

       bonus4=bonus2+*0.5;

       bonus6=bonus4+*0.3;

       bonus=bonus6+*0.;

       if(i<=)

       bonus=i*0.1;

       else if(i<=)

       bonus=bonus1+(i-)*0.;

       else if(i<=)

       bonus=bonus2+(i-)*0.;

       else if(i<=)

       bonus=bonus4+(i-)*0.;

       else if(i<=)

       bonus=bonus6+(i-)*0.;

       else

       bonus=bonus+(i-)*0.;

       printf("bonus=%d",bonus);

       getch(); 

       }

       ==============================================================

       ã€ç¨‹åº3】

       é¢˜ç›®ï¼šä¸€ä¸ªæ•´æ•°ï¼Œå®ƒåŠ ä¸ŠåŽæ˜¯ä¸€ä¸ªå®Œå…¨å¹³æ–¹æ•°ï¼Œå†åŠ ä¸Šåˆæ˜¯ä¸€ä¸ªå®Œå…¨å¹³æ–¹æ•°ï¼Œè¯·é—®è¯¥æ•°æ˜¯å¤šå°‘?

       1.程序分析:在万以内判断,先将该数加上后再开方,再将该数加上后再开方,如果开方后

       çš„结果满足如下条件,即是结果。请看具体分析:

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "math.h"

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       long int i,x,y,z;

       for (i=1;i<;i++)

       {

       x=sqrt(i+); /*x为加上后开方后的结果*/

       y=sqrt(i+); /*y为再加上后开方后的结果*/

       if(x*x==i+&&y*y==i+) /*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/

       printf("\n%ld\n",i);

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åº4】

       é¢˜ç›®ï¼šè¾“入某年某月某日,判断这一天是这一年的第几天?

       1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊

       æƒ…况,闰年且输入月份大于3时需考虑多加一天。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int day,month,year,sum,leap;

       printf("\nplease input year,month,day\n");

       scanf("%d,%d,%d",&year,&month,&day);

       switch(month) /*先计算某月以前月份的总天数*/

       {

       case 1:sum=0;break;

       case 2:sum=;break;

       case 3:sum=;break;

       case 4:sum=;break;

       case 5:sum=;break;

       case 6:sum=;break;

       case 7:sum=;break;

       case 8:sum=;break;

       case 9:sum=;break;

       case :sum=;break;

       case :sum=;break;

       case :sum=;break;

       default:printf("data error");break;

       }

       sum=sum+day; /*再加上某天的天数*/

       if(year%==0||(year%4==0&&year%!=0)) /*判断是不是闰年*/

       leap=1;

       else

       leap=0;

       if(leap==1&&month>2) /*如果是闰年且月份大于2,总天数应该加一天*/

       sum++;

       printf("It is the %dth day.",sum);

       getch(); 

       }

       ==============================================================

       ã€ç¨‹åº5】

       é¢˜ç›®ï¼šè¾“入三个整数x,y,z,请把这三个数由小到大输出。

       1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,

       ç„¶åŽå†ç”¨x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int x,y,z,t;

       scanf("%d%d%d",&x,&y,&z);

       if (x>y)

       { t=x;x=y;y=t;} /*交换x,y的值*/

       if(x>z)

       { t=z;z=x;x=t;} /*交换x,z的值*/

       if(y>z)

       { t=y;y=z;z=t;} /*交换z,y的值*/

       printf("small to big: %d %d %d\n",x,y,z);

       getch(); 

       }

       ==============================================================

       ã€ç¨‹åº6】

       é¢˜ç›®ï¼šç”¨*号输出字母C的图案。

       1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       printf("Hello C-world!\n");

       printf(" ****\n");

       printf(" *\n");

       printf(" * \n");

       printf(" ****\n");

       getch(); 

       }

       ==============================================================

       ã€ç¨‹åº7】

       é¢˜ç›®ï¼šè¾“出特殊图案,请在c环境中运行,看一看,Very Beautiful!

       1.程序分析:字符共有个。不同字符,图形不一样。      

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       char a=,b=;

       printf("%c%c%c%c%c\n",b,a,a,a,b);

       printf("%c%c%c%c%c\n",a,b,a,b,a);

       printf("%c%c%c%c%c\n",a,a,b,a,a);

       printf("%c%c%c%c%c\n",a,b,a,b,a);

       printf("%c%c%c%c%c\n",b,a,a,a,b);

       getch(); 

       }

       ==============================================================

       ã€ç¨‹åº8】

       é¢˜ç›®ï¼šè¾“出9*9口诀。

       1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int i,j,result;

       printf("\n");

       for (i=1;i<;i++)

       {

       for(j=1;j<;j++)

       {

       result=i*j;

       printf("%d*%d=%-3d",i,j,result); /*-3d表示左对齐,占3位*/

       }

       printf("\n"); /*每一行后换行*/

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åº9】

       é¢˜ç›®ï¼šè¦æ±‚输出国际象棋棋盘。

       1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int i,j;

       for(i=0;i<8;i++)

       {

       for(j=0;j<8;j++)

       if((i+j)%2==0)

       printf("%c%c",,);

       else

       printf("  ");

       printf("\n");

       }

       getch(); 

       }

       ============================================================== 

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šæ‰“印楼梯,同时在楼梯上方打印两个笑脸。 

       1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int i,j;

       printf("\1\1\n"); /*输出两个笑脸*/

       for(i=1;i<;i++)

       {

       for(j=1;j<=i;j++)

       printf("%c%c",,);

       printf("\n");

       }

       getch(); 

       }

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šå¤å…¸é—®é¢˜ï¼šæœ‰ä¸€å¯¹å…”子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月

       åŽæ¯ä¸ªæœˆåˆç”Ÿä¸€å¯¹å…”子,假如兔子都不死,问每个月的兔子总数为多少?

       1.程序分析: 兔子的规律为数列1,1,2,3,5,8,,....

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       long f1,f2;

       int i;

       f1=f2=1;

       for(i=1;i<=;i++)

       {

       printf("%ld %ld",f1,f2);

       if(i%2==0) printf("\n"); /*控制输出,每行四个*/

       f1=f1+f2; /*前两个月加起来赋值给第三个月*/

       f2=f1+f2; /*前两个月加起来赋值给第三个月*/

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šåˆ¤æ–­-之间有多少个素数,并输出所有素数。

       1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

       åˆ™è¡¨æ˜Žæ­¤æ•°ä¸æ˜¯ç´ æ•°ï¼Œåä¹‹æ˜¯ç´ æ•°ã€‚       

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       #include "math.h"

       main()

       {

       int m,i,k,h=0,leap=1;

       printf("\n");

       for(m=;m<=;m++)

       {

       k=sqrt(m+1);

       for(i=2;i<=k;i++)

       if(m%i==0)

       {

       leap=0;

       break;

       }

       if(leap)

       {

       printf("%-4d",m);

       h++;

       if(h%==0)

       printf("\n");

       }

       leap=1;

       }

       printf("\nThe total is %d",h);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šæ‰“印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数

       æœ¬èº«ã€‚例如:是一个“水仙花数”,因为=1的三次方+5的三次方+3的三次方。

       1.程序分析:利用for循环控制-个数,每个数分解出个位,十位,百位。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int i,j,k,n;

       printf("'water flower'number is:");

       for(n=;n<;n++)

       {

       i=n/;/*分解出百位*/

       j=n/%;/*分解出十位*/

       k=n%;/*分解出个位*/

       if(i*+j*+k==i*i*i+j*j*j+k*k*k)

       printf("%-5d",n);

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šå°†ä¸€ä¸ªæ­£æ•´æ•°åˆ†è§£è´¨å› æ•°ã€‚例如:输入,打印出=2*3*3*5。

       ç¨‹åºåˆ†æžï¼šå¯¹n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

       (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

       (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,

       é‡å¤æ‰§è¡Œç¬¬ä¸€æ­¥ã€‚

       (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       /* zheng int is divided yinshu*/

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int n,i;

       printf("\nplease input a number:\n");

       scanf("%d",&n);

       printf("%d=",n);

       for(i=2;i<=n;i++)

       while(n!=i)

       {

       if(n%i==0)

       {

       printf("%d*",i);

       n=n/i;

       }

       else

       break;

       }

       printf("%d",n);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šåˆ©ç”¨æ¡ä»¶è¿ç®—符的嵌套来完成此题:学习成绩>=分的同学用A表示,-分之间的用B表示,

       åˆ†ä»¥ä¸‹çš„用C表示。

       1.程序分析:(a>b)?a:b这是条件运算符的基本例子。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int score;

       char grade;

       printf("please input a score\n");

       scanf("%d",&score);

       grade=score>=?'A':(score>=?'B':'C');

       printf("%d belongs to %c",score,grade);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šè¾“入两个正整数m和n,求其最大公约数和最小公倍数。

       1.程序分析:利用辗除法。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int a,b,num1,num2,temp;

       printf("please input two numbers:\n");

       scanf("%d,%d",&num1,&num2);

       if(num1<num2)/*交换两个数,使大数放在num1上*/

       {

       temp=num1;

       num1=num2;

       num2=temp;

       }

       a=num1;b=num2;

       while(b!=0)/*利用辗除法,直到b为0为止*/

       {

       temp=a%b;

       a=b;

       b=temp;

       }

       printf("gongyueshu:%d\n",a);

       printf("gongbeishu:%d\n",num1*num2/a);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šè¾“入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

       1.程序分析:利用while语句,条件为输入的字符不为'\n'.

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       char c;

       int letters=0,space=0,digit=0,others=0;

       printf("please input some characters\n");

       while((c=getchar())!='\n')

       {

       if(c>='a'&&c<='z'||c>='A'&&c<='Z')

       letters++;

       else if(c==' ')

       space++;

       else if(c>='0'&&c<='9')

       digit++;

       else

       others++;

       }

       printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,

       space,digit,others);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šæ±‚s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2++++(此时

       å…±æœ‰5个数相加),几个数相加有键盘控制。

       1.程序分析:关键是计算出每一项的值。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int a,n,count=1;

       long int sn=0,tn=0;

       printf("please input a and n\n");

       scanf("%d,%d",&a,&n);

       printf("a=%d,n=%d\n",a,n);

       while(count<=n)

       {

       tn=tn+a;

       sn=sn+tn;

       a=a*;

       ++count;

       }

       printf("a+aa+...=%ld\n",sn);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šä¸€ä¸ªæ•°å¦‚果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程

       æ‰¾å‡ºä»¥å†…的所有完数。

       1. 程序分析:请参照程序<--上页程序.

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       static int k[];

       int i,j,n,s;

       for(j=2;j<;j++)

       {

       n=-1;

       s=j;

       for(i=1;i<j;i++)

       {

       if((j%i)==0)

       {

       n++;

       s=s-i;

       k[n]=i;

       }

       }

       if(s==0)

       {

       printf("%d is a wanshu",j);

       for(i=0;i<n;i++)

       printf("%d,",k);

       printf("%d\n",k[n]);

       }

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šä¸€çƒä»Žç±³é«˜åº¦è‡ªç”±è½ä¸‹ï¼Œæ¯æ¬¡è½åœ°åŽåè·³å›žåŽŸé«˜åº¦çš„一半;再落下,求它在

       ç¬¬æ¬¡è½åœ°æ—¶ï¼Œå…±ç»è¿‡å¤šå°‘米?第次反弹多高?

       1.程序分析:见下面注释

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "stdio.h"

       main()

       {

       float sn=.0,hn=sn/2;

       int n;

       for(n=2;n<=;n++)

       {

       sn=sn+2*hn;/*第n次落地时共经过的米数*/

       hn=hn/2; /*第n次反跳高度*/

       }

       printf("the total of road is %f\n",sn);

       printf("the tenth is %f meter\n",hn);

       getch();

       }

求一个小型学生理财系统的面向对象程序设计的源代码

       #include <iostream.h>

       #include <fstream.h>

       #include <string.h>

       #include <stdlib.h>

       const unsigned int COUNT = 5;//账户数量为5

       typedef struct Money{

        int Date;

        float money;

        Money *next;

       }Income,Expense;

       typedef struct{

        Income *income;//收入记录

        Expense *expense;//支出记录

        float incomeaccount;//收入统计

        float expenseaccount;//支出统计

        int incomelenght;

        int expenselenght;

       }Account;

       class AccountInformation{

       private:

        Account L[COUNT];

       public:

        AccountInformation();

        ~AccountInformation();

        int InitAccount();

        void getExpense(int choice[]);

        void getIncome(int choice[]);

        void addExpense(int choice,Expense *elem);

        void addIncome(int choice,Expense *elem);

        void updateIncome(int choice,Expense elem);

        void updateExpense(int choice,Expense elem);

        void deleteIncome(int choice,int date);

        void deleteExpense(int choice,int date);

        void countAll();

        void saveInfo();

       };

       AccountInformation::AccountInformation()

       {

        InitAccount();

       }

       AccountInformation::~AccountInformation()

       {

       }

       int AccountInformation::InitAccount()

       {

        for(int i=0;i<COUNT;i++)

        {

        L[i].income=new Income;

        L[i].expense=new Expense;

        if(L[i].income==NULL||L[i].expense==NULL)

        {

        cout<<"分配内存失败."<<endl;

        return 0;

        }

        L[i].incomelenght=0;

        L[i].expenselenght=0;

        L[i].incomeaccount=0;

        L[i].expenseaccount=0;

        }

        Money *Q,*P;

        char s[2];

        //读取收入信息

        ifstream fin1("income.txt");

        if(fin1.fail())

        {

        cout<<"文件打开失败!"<<endl;

        return 0;

        }

        for(i=0;i<COUNT;i++)

        {

        fin1>>s;

        Q=L[i].income;

        while(s[0]!='#')

        {

        if((int)s[1]==0)

        Q->Date=(int)s[0]-;

        else

        Q->Date=((int)s[0]-)*+(int)s[1]-;

        fin1>>Q->money;

        Q->next=new Income;

        L[i].incomelenght++;

        L[i].incomeaccount+=Q->money;

        P=Q;

        Q=Q->next;

        fin1>>s;

        }

        P->next=NULL;

        }

        fin1.close();

        //读取支出信息

        ifstream fin2("expense.txt");

        if(fin2.fail())

        {

        cout<<"文件打开失败!"<<endl;

        return 0;

        }

        for(i=0;i<COUNT;i++)

        {

        fin2>>s;

        Q=L[i].expense;

        while(s[0]!='#')

        {

        if((int)s[1]==0)

        Q->Date=(int)s[0]-;

        else

        Q->Date=((int)s[0]-)*+(int)s[1]-;

        fin2>>Q->money;

        Q->next=new Income;

        L[i].expenselenght++;

        L[i].expenseaccount+=Q->money;

        P=Q;

        Q=Q->next;

        fin2>>s;

        }

        P->next=NULL;

        }

        fin2.close();

        return 1;

       }

       void AccountInformation::getExpense(int choice[])

       {

        Expense *Q;

        float m=0.0;

        for(int i=0;i<COUNT;i++)

        if(choice[i]!=0)

        {

        Q=L[choice[i]-1].expense;

        cout<<"账户"<<choice[i]<<"的支出信息为"<<endl;

        cout<<"DATE\tMONEY"<<endl;

        while(Q!=NULL)

        {

        cout<<Q->Date<<"\t"<<Q->money<<endl;

        Q=Q->next;

        }

        cout<<"账户"<<choice[i]<<"的总支出信息为"<<L[choice[i]-1].expenseaccount<<endl<<endl;

        m+=L[choice[i]-1].expenseaccount;

        }

        cout<<"总支出信息为"<<m<<endl;

       }

       void AccountInformation::getIncome(int choice[])

       {

        Income *Q;

        float m=0.0;

        for(int i=0;i<COUNT;i++)

        if(choice[i]!=0)

        {

        Q=L[choice[i]-1].income;

        cout<<"账户"<<choice[i]<<"的收入信息为"<<endl;

        cout<<"DATE\tMONEY"<<endl;

        while(Q!=NULL)

        {

        cout<<Q->Date<<"\t"<<Q->money<<endl;

        Q=Q->next;

        }

        cout<<"账户"<<choice[i]<<"的总收入信息为"<<L[choice[i]-1].incomeaccount<<endl<<endl;

        m+=L[choice[i]-1].incomeaccount;

        }

        cout<<"总收入信息为"<<m<<endl;

       }

       void AccountInformation::addExpense(int choice,Expense *elem)

       {

        Expense *Q,*P;

        Q=L[choice-1].expense;

        while(Q!=NULL)

        {

        if(Q->Date==elem->Date)

        {

        Q->money+=elem->money;

        L[choice-1].expenseaccount+=elem->money;

        return ;

        }

        if(Q->Date>elem->Date&&P->Date<elem->Date)

        break;

        P=Q;

        Q=Q->next;

        }

        P->next=elem;

        elem->next=Q;

        L[choice-1].expenseaccount+=elem->money;

        L[choice-1].expenselenght++;

       }

       void AccountInformation::addIncome(int choice,Expense *elem)

       {

        Expense *Q,*P;

        Q=L[choice-1].income;

        while(Q!=NULL)

        {

        if(Q->Date==elem->Date)

        {

        Q->money+=elem->money;

        L[choice-1].incomeaccount+=elem->money;

        return ;

        }

        if(Q->Date>elem->Date&&P->Date<elem->Date)

        break;

        P=Q;

        Q=Q->next;

        }

        P->next=elem;

        elem->next=Q;

        L[choice-1].incomeaccount+=elem->money;

        L[choice-1].incomelenght++;

       }

       void AccountInformation::updateExpense(int choice,Expense elem)

       {

        Expense *Q;

        Q=L[choice-1].expense;

        while(Q!=NULL)

        {

        if(Q->Date==elem.Date)

        {

        Q->money=elem.money;

        L[choice-1].expenseaccount=elem.money-Q->money;

        return ;

        }

        Q=Q->next;

        }

       }

       void AccountInformation::updateIncome(int choice,Expense elem)

       {

        Expense *Q;

        Q=L[choice-1].income;

        while(Q!=NULL)

        {

        if(Q->Date==elem.Date)

        {

        Q->money=elem.money;

        L[choice-1].incomeaccount=elem.money-Q->money;

        return ;

        }

        Q=Q->next;

        }

       }

       void AccountInformation::deleteExpense(int choice,int date)

       {

        Expense *Q,*P;

        Q=L[choice-1].expense;

        if(Q->Date==date)

        {

        L[choice-1].expense=NULL;

        L[choice-1].expenseaccount=0.0;

        L[choice-1].expenselenght=0;

        }

        while(Q!=NULL)

        {

        if(Q->Date==date)

        {

        P->next=Q->next;

        L[choice-1].expenseaccount-=Q->money;

        L[choice-1].expenselenght--;

        return ;

        }

        P=Q;

        Q=Q->next;

        }

       }

       void AccountInformation::deleteIncome(int choice,int date)

       {

        Expense *Q,*P;

        Q=L[choice-1].income;

        if(Q->Date==date)

        {

        L[choice-1].income=NULL;

        L[choice-1].incomeaccount=0.0;

        L[choice-1].incomelenght=0;

        }

        while(Q!=NULL)

        {

        if(Q->Date==date)

        {

        P->next=Q->next;

        L[choice-1].incomeaccount-=Q->money;

        L[choice-1].incomelenght--;

        return ;

        }

        P=Q;

        Q=Q->next;

        }

       }

       void AccountInformation::countAll()

       {

        Expense *Q;

        float allincome=0.0;//总收入

        float allexpense=0.0;//总支出

        float a[COUNT],b[COUNT],c[COUNT],d[COUNT];

        int date1,date2;

        for(int i=0;i<COUNT;i++)

        {

        //收入信息

        Q=L[i].income;

        date1=Q->Date;

        date2=Q->Date;

        while (Q!=NULL)

        {

        if(Q->Date<date1)

        date1=Q->Date;

        if(Q->Date>date2)

        date2=Q->Date;

        Q=Q->next;

        }

        a[i]=L[i].incomeaccount/(date2-date1);//单位时间收入

        c[i]=L[i].incomeaccount;//账户总收入

        allincome+=L[i].incomeaccount;//总收入

        //支出信息

        Q=L[i].expense;

        date1=Q->Date;

        date2=Q->Date;

        while (Q!=NULL)

        {

        if(Q->Date<date1)

        date1=Q->Date;

        if(Q->Date>date2)

        date2=Q->Date;

        Q=Q->next;

        }

        b[i]=L[i].expenseaccount/(date2-date1);//单位时间支出

        d[i]=L[i].expenseaccount;//账户总支出

        allexpense+=L[i].expenseaccount;//总支出

        }

        int k[COUNT]={ 1,2,3,4,5};

        int l[COUNT]={ 1,2,3,4,5};

        int t;

        float f;

        for(i=0;i<COUNT-1;i++)

        for(int j=i+1;j<COUNT;j++)

        if(a[i]>a[j])

        {

        f=a[j];

        a[j]=a[i];

        a[i]=f;

        t=k[j];

        k[j]=k[i];

        k[i]=t;

        }

        else if(c[i]>c[j])

        {

        f=c[j];

        c[j]=c[i];

        c[i]=f;

        t=l[j];

        l[j]=l[i];

        l[i]=t;

        }

        cout<<"总收入为:"<<allincome<<endl;

        cout<<"账户收入分别为:\t\t单位时间内账户收入为:"<<endl;

        for(i=0;i<COUNT;i++)

        cout<<"账户"<<l[i]<<"的收入为:"<<c[i]<<"\t账户"<<k[i]<<"的收入为"<<a[i]<<endl;

        for(i=0;i<COUNT;i++)

        {

        k[i]=i+1;

        l[i]=i+1;

        }

        for(i=0;i<COUNT-1;i++)

        for(int j=i+1;j<COUNT;j++)

        if(b[i]>b[j])

        {

        f=a[j];

        a[j]=a[i];

        a[i]=f;

        t=k[j];

        k[j]=k[i];

        k[i]=t;

        }

        else if(d[i]>d[j])

        {

        f=c[j];

        c[j]=c[i];

        c[i]=f;

        t=l[j];

        l[j]=l[i];

        l[i]=t;

        }

        cout<<"总支出为:"<<allincome<<endl;

        cout<<"账户支出分别为:\t\t单位时间内账户支出为:"<<endl;

        for(i=0;i<COUNT;i++)

        cout<<"账户"<<l[i]<<"的支出为:"<<d[i]<<"\t账户"<<k[i]<<"的支出为"<<b[i]<<endl;

       }

       void AccountInformation::saveInfo()

       {

        Money *Q;

        ofstream fout1("income.txt",ios::trunc);

        if(fout1.fail())

        {

        cout<<"文件打开失败!"<<endl;

        return ;

        }

        for(int i=0;i<COUNT;i++)

        {

        Q=L[i].income;

        while(Q!=NULL)

        {

        fout1<<Q->Date<<" "<<Q->money<<'\n';

        Q=Q->next;

        }

        fout1<<"#\n";

        }

        fout1.close();

        ofstream fout2("expense.txt",ios::trunc);

        if(fout2.fail())

        {

        cout<<"文件打开失败!"<<endl;

        return ;

        }

        for(i=0;i<COUNT;i++)

        {

        Q=L[i].expense;

        while(Q!=NULL)

        {

        fout2<<Q->Date<<" "<<Q->money<<'\n';

        Q=Q->next;

        }

        fout2<<"#\n";

        }

        fout2.close();

       }

       void menu1(int choice[COUNT])

       {

        char s[5];

        cout<<"

copyright © 2016 powered by 皮皮网   sitemap