c語言設計系統設計
⑴ c語言 學生信息管理系統設計
呵呵~~
我也找了很久哦~~
第一種:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
struct student{
int id;
char name[10];
int age;
char sex[10];
char birthady[20];
int tel;
char nativeplace[50];
}st[50];
int i=0;
void shuru() {
char a;
do{
printf("\n請輸入學號:");
scanf("%d",&st[i].id);
fflush(stdin);
printf("\n請輸入姓名:");
gets(st[i].name);
printf("\n") ;
printf("請輸入年齡:");
scanf("%d",&st[i].age);
fflush(stdin);
printf("\n請輸入姓別:");
gets(st[i].sex);
fflush(stdin);
printf("\n請輸入生日:");
gets(st[i].birthady);
printf("\n請輸入電話:");
scanf("%d",&st[i].tel);
fflush(stdin);
printf("\n請輸入籍貫:");
gets(st[i].nativeplace);
printf("\n是否繼續輸入另外一個學生信息?(y/n)");
fflush(stdin);
a=getchar();
i++;
}while(a=='y' && i<=50);
}
void xianshi()
{
int j;
printf("\t學號\t姓名\t年齡\t性別\t生日\t\t電話\t籍貫\n");
for(j=0;j<i;j++)
printf("\t%d\t%s\t%d\t%s\t%s\t%d\t%s\n",
st[j].id,st[j].name,st[j].age,st[j].sex,st[j].birthady,st[j].tel,st[j].nativeplace);
}
void paixu() //按年齡從大到小排序函數
{
int j,k;
int temp;
for(j=0;j<i;j++)
{
for(k=0;k<i-1-j;k++)
{
if(st[k].age<st[k+1].age)
{
temp=st[k].age;
st[k].age=st[k+1].age;
st[k+1].age=temp;
}
}
}
xianshi(); //排序後輸出
}
void chazhao()
{
int m;
char name[20],b;
do
{
printf("\n請輸入想查找的學生姓名:");
fflush(stdin);
gets(name);
for(m=0;m<i;m++)
{
if(strcmp(name,st[m].name)==0)
{
printf("\n\t您查找的學生在第%d個位置找到了!!!\n",m+1);
break;
}
}
if(m>=20)
printf("\n\t沒有找到這個學生!!!\n");
else
{
printf("\t學號\t姓名\t年齡\t性別\t生日\t\t電話\t籍貫\n");
printf("\t%d\t%s\t%d\t%s\t%s\t%d\t%s\n",
st[m].id,st[m].name,st[m].age,st[m].sex,st[m].birthady,st[m].tel,st[m].nativeplace);
}
printf("\n是否查找另一個學生的信息?(y/n)");
fflush(stdin);
b=getchar();
}while(b=='y');
}
void shanchu()
{
char name[20],c;
int a,b;
do
{
printf("\n請輸入要刪除的學生姓名:\n");
fflush(stdin);
gets(name);
for(a=0;a<i;a++)
{
if(strcmp(name,st[a].name)==0)
break;
}
for(b=a;b<i;b++)
st[b]=st[b+1];
if(a>i)
printf("\t沒有找到這個學生!!!\n");
else
{
i--;
xianshi();
}
printf("\n是否繼續刪除另一個學生信息?(y/n) ");
fflush(stdin);
c=getchar();
}while(c=='y');
}
void charu()
{
shuru();
paixu();
}
void main() //主函數
{
int change;
do{
system("cls");
printf("============================學生信息管理系統===================================\n");
printf("\t\t一: 輸入學生信息\n");
printf("\t\t二: 顯示學生信息\n");
printf("\t\t三: 查找學生信息\n");
printf("\t\t四: 刪除學生信息\n");
printf("\t\t五: 插入學生信息\n");
printf("\t\t六: 退出程序\n");
fflush(stdin);
printf("\t\t請輸入功能選項:");
scanf("%d",&change);
switch(change)
{
case 1:
shuru(); break;
case 2:
xianshi(); break;
case 3:
chazhao(); break;
case 4:
shanchu(); break;
case 5:
charu(); break;
case 6:
break;
}
getch();
}while(change!=6);
}
第二種
#include<stdio.h>
#include<conio.h>
#include<string.h>
typedef struct STUDENT
{
char studentNumber[10];/*學生學號*/
char studentName[20];/*學生姓名*/
char studentSEX[10];/*學生性別*/
char className[20];/*班級名稱*/
float mark1;/*第1門成績*/
float mark2;/*第2門成績*/
float mark3;/*第3門成績*/
float mark4;/*第4門成績*/
float mark5;/*第5門成績*/
struct STUDENT *next;
}STUDENT;
STUDENT *headLink;/*鏈表表頭指針*/
/*以下是函數聲明*/
void ReadInfoFormFile(void);
void DesplayMenu(void);
void CreateHeadLink(void);
STUDENT *MallocNode(void);
void GetInformation(STUDENT *t);
void OutputInformation(void);
void DesplayInfoBystudentName(void);
void DesplayInfoBystudentNumber(void);
void DesplayOneNode(STUDENT *t);
void InsertOneNode(STUDENT *t);
void DeleteNodeBystudentNumber(void);
void ChangeMarkByName(void);
void ChangeMarkByNumber(void);
void SaveLinkToFile(void);
void DesplayMarkSegment(void);
void CompositorByTotalMark(void);
int choose;/*用於接受用戶的選擇*/
/*主函數*/
void main()
{
CreateHeadLink();
ReadInfoFormFile();
DesplayMenu();
}
/************************************
函數功能:從文件中讀學生信息到鏈表中
************************************/
void ReadInfoFormFile(void)
{
FILE *fp;
STUDENT *p;
fp=fopen("student.txt","r");
if(!fp)
{
printf("文件不存在\n");
return;
}
p=MallocNode();
while(fscanf(fp,"%s%s%s%s%f%f%f",p->studentNumber,p->studentSEX,p->studentName,p->className,&(p->mark1),&(p->mark2),&(p->mark3),&(p->mark4),&(p->mark5))>0)
{
InsertOneNode(p);
p=MallocNode();
}
fclose(fp);
}
/************************************
函數功能:顯示菜單,根據用戶的輸入
完成相應的功能
************************************/
void DesplayMenu(void)
{
STUDENT *p;
printf("-------請選擇相應功能------------\n\n");
printf("| 1 顯示所有學生的信息 |\n");
printf("| 2 按姓名查詢 |\n");
printf("| 3 按學號查詢 |\n");
printf("| 4 增加學生 |\n");
printf("| 5 刪除學生 |\n");
printf("| 6 按姓名修改學生成績 |\n");
printf("| 7 按學號修改學生成績 |\n");
printf("| 8 保存所有學生信息 |\n");
printf("| 9 顯示優秀和不及格學生成績 |\n");
printf("| 10 排序結果並輸出成績 |\n");
printf("| 11 退出 |\n\n");
scanf("%d",&choose);/*取得用戶的選擇*/
switch(choose)
{
case 1:
OutputInformation();/*顯示所有學生的信息*/
break;
case 2:
DesplayInfoBystudentName();
break;
case 3:
DesplayInfoBystudentNumber();/*根據用戶輸入的學號顯示該學生的信息*/
break;
case 4:
p=MallocNode();/*先申請一個新結點*/
GetInformation(p);/*要求用戶輸入信息到新結點中*/
InsertOneNode(p);/*將新結點加到鏈表中*/
break;
case 5:
DeleteNodeBystudentNumber();/*根據用戶輸入的學號刪除該學生*/
break;
case 6:
ChangeMarkByName();/*根據用戶輸入的姓名修改學生成績*/
break;
case 7:
ChangeMarkByNumber();/*根據用戶輸入的學號修改學生成績*/
break;
case 8:
SaveLinkToFile();/*保存數據*/
break;
case 9:
DesplayMarkSegment();/*顯示各分數段的學生成績*/
break;
case 10:
CompositorByTotalMark();
break;
case 11:
SaveLinkToFile();/*保存數據後再退出*/
free(headLink);
exit(1);
break;
default:
break;
}
DesplayMenu();/*遞歸調用*/
}
/************************************
函數功能:建立鏈表表頭
************************************/
void CreateHeadLink(void)
{
STUDENT *p;
p=(STUDENT*)malloc(sizeof(STUDENT));
headLink=p;
p->next=NULL;
}
/************************************
函數功能:申請一個新結點,並將其初始化
************************************/
STUDENT *MallocNode(void)
{
STUDENT *p;
int i;
p=(STUDENT*)malloc(sizeof(STUDENT));
if(p==NULL)
return NULL;
for(i=0;i<10;i++)
p->studentNumber[i]='\0';
for(i=0;i<20;i++)
p->studentName[i]='\0';
for(i=0;i<10;i++)
p->studentSEX[i]='\0';
for(i=0;i<20;i++)
p->className[i]='\0';
p->mark1=0.0;
p->mark2=0.0;
p->mark3=0.0;
p->mark4=0.0;
p->mark5=0.0;
p->next=NULL;
return p;
}
/************************************
函數功能:取得用戶輸入的學生信息
************************************/
void GetInformation(STUDENT *t)
{
printf("請輸入學生學號:\n");
scanf("%s",t->studentNumber);
printf("請輸入學生姓名:\n");
scanf("%s",t->studentName);
printf("請輸入學生性別:\n");
scanf("%s",t->studentSEX);
printf("請輸入該生所在班級:\n");
scanf("%s",t->className);
printf("請輸入第1門成績:\n");
scanf("%f",&(t->mark1));
printf("請輸入第2門成績:\n");
scanf("%f",&(t->mark2));
printf("請輸入第3門成績:\n");
scanf("%f",&(t->mark3));
printf("請輸入第4門成績:\n");
scanf("%f",&(t->mark4));
printf("請輸入第5門成績:\n");
scanf("%f",&(t->mark5));
}
/************************************
函數功能:在鏈表的結尾處增加一個結點
************************************/
void InsertOneNode(STUDENT *t)
{
STUDENT *p;
p=headLink;
while(p->next)
{
p=p->next;
}
p->next=t;
}
/************************************
函數功能:根據用戶輸入的學生姓名顯示該學生的信息
************************************/
void DesplayInfoBystudentName(void)
{
STUDENT *p;
char studentName[20];
char flag=0;
p=headLink->next;
printf("請輸入學生姓名:\n");
scanf("%s",studentName);
while(p)
{
if(strcmp(p->studentName,studentName)==0)
{
printf("學號\t姓名\t性別\t班級\t成績1\t成績2\t成績3\t成績4\t成績5\t總成績\t平均成績\n\n");
DesplayOneNode(p);
flag=1;
break;
}
p=p->next;
}
if(!flag)
printf("對不起,不存在姓名為 %s 的學生\n",studentName);
}
/************************************
函數功能:根據用戶輸入的學號顯示該學生的信息
************************************/
void DesplayInfoBystudentNumber(void)
{
STUDENT *p;
char studentNumber[10];
char flag=0;
p=headLink->next;
printf("請輸入學生學號:\n");
scanf("%s",studentNumber);
while(p)
{
if(strcmp(p->studentNumber,studentNumber)==0)
{
printf("學號\t姓名\t性別\t班級\t成績1\t成績2\t成績3\t成績4\t成績5\t總成績\t平均成績\n\n");
DesplayOneNode(p);
flag=1;
break;
}
p=p->next;
}
if(!flag)
printf("對不起,不存在學號為 %s 的學生\n",studentNumber);
}
/************************************
函數功能:輸出一個結點的信息
************************************/
void DesplayOneNode(STUDENT *t)
{
printf("%s\t",t->studentNumber);
printf("%s\t",t->studentName);
printf("%s\t",t->studentSEX);
printf("%s\t",t->className);
printf("%.2f\t",t->mark1);
printf("%.2f\t",t->mark2);
printf("%.2f\t",t->mark3);
printf("%.2f\t",t->mark4);
printf("%.2f\t",t->mark5);
printf("%.2f\t",t->mark1+t->mark2+t->mark3+t->mark4+t->mark5);
printf("%.2f\t\n",(t->mark1+t->mark2+t->mark3+t->mark4+t->mark5)/5);
}
/************************************
函數功能:根據用戶輸入的學號刪除該學生
************************************/
void DeleteNodeBystudentNumber(void)
{
char studentNumber[10];
STUDENT *p,*q;
char flag=0;
printf("請輸入要刪除的學生學號:");
scanf("%s",studentNumber);
p=headLink;
q=headLink->next;
while(q)
{
if(strcmp(q->studentNumber,studentNumber)==0)
{
p->next=q->next;
free(q);
flag=1;
break;
}
p=p->next;
q=q->next;
}
if(!flag)
{
printf("不存在該學號的學生\n");
return;
}
printf("成功刪除\n");
}
/************************************
函數功能:顯示所有學生的信息
************************************/
void OutputInformation(void)
{
STUDENT *p;
p=headLink->next;
if(p==NULL)
{
printf("現在沒有學生信息,請先輸入學生信息\n\n");
return;
}
printf("學號\t姓名\t性別\t班級\t成績1\t成績2\t成績3\t成績4\t成績5\t總成績\t平均成績\n\n");
while(p)
{
DesplayOneNode(p);
p=p->next;
}
}
/************************************
函數功能:根據輸入的姓名修改成績
************************************/
void ChangeMarkByName(void)
{
STUDENT *p;
char studentName[20];
char flag=0;
float mark1,mark2,mark3,mark4,mark5;
p=headLink->next;
printf("請輸入學生姓名:\n");
scanf("%s",studentName);
while(p)
{
if(strcmp(p->studentName,studentName)==0)
{
printf("請輸入新的第1門成績:\n");
scanf("%f",&mark1);
printf("請輸入新的第2門成績:\n");
scanf("%f",&mark2);
printf("請輸入新的第3門成績:\n");
scanf("%f",&mark3);
printf("請輸入新的第4門成績:\n");
scanf("%f",&mark4);
printf("請輸入新的第5門成績:\n");
scanf("%f",&mark5);
p->mark1=mark1;
p->mark2=mark2;
p->mark3=mark3;
p->mark4=mark4;
p->mark5=mark5;
flag=1;
printf("修改成功\n");
break;
}
p=p->next;
}
if(!flag)
printf("對不起,不存在姓名為 %s 的學生\n",studentName);
}
/************************************
函數功能:根據輸入的學號修改成績
************************************/
void ChangeMarkByNumber(void)
{
STUDENT *p;
char studentNumber[20];
char flag=0;
float mark1,mark2,mark3,mark4,mark5;
p=headLink->next;
printf("請輸入學生學號:\n");
scanf("%s",studentNumber);
while(p)
{
if(strcmp(p->studentNumber,studentNumber)==0)
{
printf("請輸入新的第1門成績:\n");
scanf("%f",&mark1);
printf("請輸入新的第2門成績:\n");
scanf("%f",&mark2);
printf("請輸入新的第3門成績:\n");
scanf("%f",&mark3);
printf("請輸入新的第4門成績:\n");
scanf("%f",&mark4);
printf("請輸入新的第5門成績:\n");
scanf("%f",&mark5);
p->mark1=mark1;
p->mark2=mark2;
p->mark3=mark3;
p->mark4=mark4;
p->mark5=mark5;
flag=1;
printf("修改成功\n");
break;
}
p=p->next;
}
if(!flag)
printf("對不起,不存在學號為 %s 的學生\n",studentNumber);
}
/************************************
函數功能:保存鏈表數據到文件中
************************************/
void SaveLinkToFile(void)
{
STUDENT *p;
FILE *fp;
p=headLink->next;
if(p==NULL)
{
printf("現在沒有學生信息,請先輸入學生信息\n\n");
return;
}
fp=fopen("student.txt","w+");
if(!fp)
{
printf("文件不存在\n");
return;
}
while(p)
{
fprintf(fp,"%s %s %s %s %f %f %f %f %f\n",p->studentNumber,p->studentName,p->studentSEX,p->className,p->mark1,p->mark2,p->mark3,p->mark4,p->mark5);
p=p->next;
}
fclose(fp);
}
/************************************
函數功能:顯示優秀和不及格學生成績
************************************/
void DesplayMarkSegment(void)
{
STUDENT *p;
int count=0;
p=headLink->next;
printf("60分以下(不及格)的學生成績如下:\n");
printf("學號\t姓名\t性別\t班級\t成績1\t成績2\t成績3\t成績4\t成績5\t總成績\t平均成績\n\n");
while(p)
{
if((6>((int)(p->mark1/10)))||(6>((int)(p->mark2/10)))||(6>((int)(p->mark3/10)))||(6>((int)(p->mark4/10)))||(6>((int)(p->mark5/10))))/*只要有一科不及格就認為該生不及格*/
{
count++;
DesplayOneNode(p);
}
p=p->next;
}
printf("不及格的學生一共有%d人\n",count);
p=headLink->next;
printf("成績優秀的學生成績如下:\n");
printf("學號\t姓名\t性別\t班級\t成績1\t成績2\t成績3\t成績4\t成績5\t總成績\t平均成績\n\n");
count=0;
while(p)
{
if((8<=((int)(p->mark1/10)))&&(8<=((int)(p->mark2/10)))&&(8<=((int)(p->mark3/10)))&&(8<=((int)(p->mark4/10)))&&(8<=((int)(p->mark5/10))))
{
count++;
DesplayOneNode(p);
}
p=p->next;
}
printf("成績優秀的學生一共有%d人\n",count);
}
/************************************
函數功能:按總成績排序
************************************/
void CompositorByTotalMark(void)
{
STUDENT exchange,*r,*p,*q;
r=headLink->next;
if(r==NULL)
{
printf("現在還沒學生信息,請先輸入學生信息\n");
return;
}
while(r)/*兩層while循環實現排序*/
{
p=r;
q=r->next;
while(q)
{
if((q->mark1+q->mark2+q->mark3+q->mark4+q->mark5)>(p->mark1+p->mark2+p->mark3+p->mark4+p->mark5))
{
strcpy(exchange.studentNumber,q->studentNumber);/*先復制q結點信息到exchange*/
strcpy(exchange.studentName,q->studentName);
strcpy(exchange.className,q->className);
exchange.mark1=q->mark1;
exchange.mark2=q->mark2;
exchange.mark3=q->mark3;
exchange.mark4=q->mark4;
exchange.mark5=q->mark5;
strcpy(q->studentNumber,p->studentNumber);/*再復制p結點信息到q*/
strcpy(q->studentName,p->studentName);
strcpy(q->studentSEX,p->studentSEX);
strcpy(q->className,p->className);
q->mark1=p->mark1;
q->mark2=p->mark2;
q->mark3=p->mark3;
q->mark4=p->mark4;
q->mark5=p->mark5;
strcpy(p->studentNumber,exchange.studentNumber);/*最後復制exchange結點信息到p*/
strcpy(p->studentName,exchange.studentName);
strcpy(p->className,exchange.className);
p->mark1=exchange.mark1;
p->mark2=exchange.mark2;
p->mark3=exchange.mark3;
p->mark4=exchange.mark4;
p->mark5=exchange.mark5;
}
q=q->next;
}
r=r->next;
}
OutputInformation();
}
我比較傾向於第二種,因為是自己調試的,呵呵~~
你只要把"成績"改成你需要的其他信息就OK了~~
用C/C++直接開發界面程序一般有以下幾種方式:
1、直接調用系統api
這一種比較麻煩而且開發的效率不高,但通過練習可以讓你很好的掌握GUI程序的原理和技巧。因為常用的第3種也是以此為基礎的,學會api有利於更加深入的了解GUI程序原理。
2、直接使用繪圖介面自己畫
這種最麻煩而且一般適用於游戲、虛擬現實等專業領域,比如使用OpenGl繪圖介面製作3D程序。
3、調用其他封裝好庫
這一種就是別人把系統api封裝好了,給了你一個簡單的使用介面,比如MFC。對於C/C++來說,現在比較流行的有Qt,xwidget等GUI庫,使用簡單,文檔豐富,而且跨平台使用,是目前比較好的選擇。如果以前沒有用過MFC,建議還是別學MFC了,繁瑣而且不是跨平台的。
還有,如果用VS開發,.NET裡面的一些標准控制項也足以應付日常開發了,這個其實是現在用的最普遍的。
⑶ c語言學生管理系統設計
#include<stdio.h>
#include<stdlib.h>
int num;
struct student *stu=NULL;
struct student
{
char id[20];
char name[20];
float score;
};
void input()
{
int i;
char s[8],f[128];
FILE *outf=NULL;
if(NULL!=stu)
{
("學生信息已經錄入了,是否重新錄入(y/n)?");
scanf("%s",s);
s[0]=tolower(s[0]);
if('y'==s[0])
{
free(stu);
stu=NULL;
}
else
{
printf("\n");
return;
}
}
printf("請輸入學生人數:");
scanf("%d",&num);
stu=(struct student*)calloc(num,sizeof(struct student));
for(i=0;i<num;i++)
{
printf("請輸入第%d個學生的學號、姓名、C語言課程的成績:",i+1);
scanf("%s %s %f",stu[i].id,stu[i].name,&stu[i].score);
}
printf("請輸入保存學生信息的文件的文件名:");
scanf("%s",f);
outf=fopen(f,"w");
for(i=0;i<num-1;i++)
{
fprintf(outf,"%s %s %.1f\n",stu[i].id,stu[i].name,stu[i].score);
}
fprintf(outf,"%s %s %.1f",stu[num-1].id,stu[num-1].name,stu[num-1].score);
fclose(outf);
printf("\n");
}
void output()
{
int i;
printf("各學生的信息如下:\n");
printf("學號\t\t姓名\t\tC語言成績\n");
for(i=0;i<num;i++)
{
printf("%s\t\t%s\t\t%.1f\n",stu[i].id,stu[i].name,stu[i].score);
}
printf("\n");
}
void findById()
{
char id[20];
int i;
printf("請輸入要查詢的學生信息的學號:");
scanf("%s",id);
for(i=0;i<num;i++)
{
if(0==strcmp(stu[i].id,id))
{
printf("學號為%s的學生的信息如下:\n");
printf("學號\t\t姓名\t\tC語言成績\n");
printf("%s\t\t%s\t\t%.1f\n",stu[i].id,stu[i].name,stu[i].score);
printf("\n");
return;
}
}
printf("找不到學號為%s的學生的信息\n");
printf("\n");
}
void findByScoreRange()
{
float low,high;
int i,c=0;
printf("請輸入要查詢的學生信息的C語言成績的范圍(最低分、最高分)");
scanf("%f %f",&low,&high);
printf("查詢結果如下:\n");
printf("學號\t\t姓名\t\tC語言成績\n");
for(i=0;i<num;i++)
{
if(stu[i].score>=low && stu[i].score<=high)
{
printf("%s\t\t%s\t\t%.1f\n",stu[i].id,stu[i].name,stu[i].score);
c++;
}
}
if(0==c)
{
printf("找不到C語言成績的范圍在%.1f至%.1f的學生的信息\n",low,high);
printf("\n");
}
}
void modify()
{
int i;
for(i=0;i<num;i++)
{
if(stu[i].score>=55 && stu[i].score<=59)
stu[i].score+=5;
}
printf("成績修改完畢\n");
printf("\n");
}
void displayMenu()
{
static const char menu[]="0、退出\n1、錄入學生信息\n2、瀏覽學生信息\n3、查詢學生信息\n4、修改學生成績\n請選擇一個菜單:";
printf("%s",menu);
}
void processMenu(int m)
{
int sm;
switch(m)
{
case 0:
if(NULL!=stu)
{
free(stu);
stu=NULL;
}
exit(0);
break;
case 1:
input();
break;
case 2:
output();
break;
case 3:
printf("1、按學號查詢\n2、按C語言成績范圍查詢\n請選擇一個子菜單:");
scanf("%d",&sm);
switch(sm)
{
case 1:
findById();
break;
case 2:
findByScoreRange();
break;
default:
puts("無法處理的子菜單命令");
printf("\n");
}
break;
case 4:
modify();
break;
default:
puts("無法處理的菜單命令");
printf("\n");
break;
}
}
int main()
{
int m=0;
struct student *stu;
while(1)
{
displayMenu();
scanf("%d",&m);
processMenu(m);
}
return 0;
}
⑷ C語言程序設計適合用於哪些系統或軟體的設計上
因為c語言是很接近匯編的,並且支持插入匯編,所以是用處很廣的一門語言,但也是因為這個優勢,c語言是很底層的一門語言,也就是說不是很適合大工程的開發,因為一門大工程需要很多方面的代碼,雖然c語言可以通過封裝來減少工作負擔,但是你/你的公司能有多少代碼積累,開源的項目有多少是符合你的需求的呢,所以程序員們必須把時間浪費在細節方面
所以說c語言與一些有完套介面的工具比起來就不給力了,人家一句代碼,或者設置一個屬性相當與你幾個鍾的工作
但也不是說c語言就沒用了,如果你想的需求沒有開源工具或者某種語言的特性能完成,c語言還是很適合的,但是比如windows上c就比不上c#,網路方面比不上java,因為他們的開發者已經在這些方面做了很多工作用起來當然輕松
說了那麼多其實選擇那樣工具考慮都是成本而已
c語言的優勢在於通用性,僅此而已
⑸ C語言課程設計 設計題目管理系統
你好,源代碼,實現你所要求的,需要了就聊我
⑹ c語言系統設計
#include<stdio.h>
#include<string.h>
//十進制數轉換為二進制數
char*Dec2Bin(unsigneddnum,charbin[]){
intn=0,i,t;
while(dnum){
bin[n++]=dnum%2+'0';
dnum/=2;
}
bin[n]='