真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言中從文件錄入子函數(shù) c語言文件的錄入

這道C語言該如何編寫

#includestdio.h?

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的義馬網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

#includestdlib.h

int?N1,?N2,?kk1,?kk2,?kk3;

struct?couse?*?head1;

struct?student?*?head2;

struct?couse//課程信息結(jié)構(gòu)體

{

int?num1;

char?name1[20];

int?score;

int?nelepeo;//課程已選人數(shù)

int?Melepeo;//課程人數(shù)上限

struct?couse?*?next;

};

struct?student//學生信息結(jié)構(gòu)體

{

int?num2;

char?name2[20];

int?nelenum[50];//已選課程編號

int?nelen;//已選課程數(shù)量

struct?student?*?next;

};

void?Ms()

{

for?(kk1?=?0;?kk11100;?kk1++)

for?(kk2?=?0;?kk21200;?kk2++)

for?(kk3?=?0;?kk31200;?kk3++);

}

void?keyboardc()//錄入課程子函數(shù)(從鍵盤錄入)

{

struct?couse?*p1,?*p2;

N1?=?0;

p1?=?p2?=?(struct?couse*)malloc(sizeof(struct?couse));

printf("課程編號\t課程名稱\t學分\t課程人數(shù)上限\n");

scanf("%d%s%d%d",?p1-num1,?p1-name1,?p1-score,?p1-Melepeo);

p1-nelepeo?=?0;

head1?=?NULL;

while?(p1-num1?!=?0)

{

N1?=?N1?+?1;

if?(N1?==?1)head1?=?p1;

else?p2-next?=?p1;

p2?=?p1;

p1?=?(struct?couse?*)malloc(sizeof(struct?couse));

scanf("%d%s%d%d",?p1-num1,?p1-name1,?p1-score,?p1-Melepeo);

p1-nelepeo?=?0;

}

p2-next?=?NULL;

}

void?filec()//錄入鍵盤子函數(shù)(從文件錄入)

{

FILE?*?fp;

char?filepath[20];

struct?couse?*p1,?*p2;

N1?=?0;

printf("輸入要讀入的文件路徑:");

getchar();

gets(filepath);

if?((fp?=?fopen(filepath,?"r"))?==?NULL)

{

printf("找不到%s文件!\n",?filepath);

exit(0);

}

p1?=?p2?=?(struct?couse*)malloc(sizeof(struct?couse));

fscanf(fp,?"%d%s%d%d%d",?p1-num1,?p1-name1,?p1-score,?p1-nelepeo,?p1-Melepeo);

head1?=?NULL;

while?(!feof(fp))

{

N1?=?N1?+?1;

if?(N1?==?1)head1?=?p1;

else?p2-next?=?p1;

p2?=?p1;

p1?=?(struct?couse?*)malloc(sizeof(struct?couse));

fscanf(fp,?"%d%s%d%d%d",?p1-num1,?p1-name1,?p1-score,?p1-nelepeo,?p1-Melepeo);

}

p2-next?=?NULL;

}

void?inputc()//錄入課程主函數(shù)

{

int?i;

printf("\t\t\t錄入課程信息\n");

printf("\n1.從鍵盤錄入\n");

printf("2.從文件錄入\n");

printf("3.返回主菜單\n");

printf("請選擇(1~3):\n");

scanf("%d",?i);

switch?(i)

{

case(1)?:?keyboardc();?break;

case(2)?:?filec();?break;

case(3)?:?break;

}

}

void?insertc(struct?couse?*incouse)//課程管理子函數(shù)(增加課程)

{

struct?couse?*p0,?*p1,?*p2;

p1?=?head1;

p0?=?incouse;

if?(head1?==?NULL)

{

head1?=?p0;

p0-next?=?NULL;

}

else

{

while?((p0-num1??p1-num1)??(p1-next?!=?NULL))

{

p2?=?p1;

p1?=?p1-next;

}

if?(p0-num1?=?p1-num1)

{

if?(head1?==?p1)?head1?=?p0;

else?p2-next?=?p0;

p0-next?=?p1;

}

else

{

p1-next?=?p0;

p0-next?=?NULL;

}

}

N1?=?N1?+?1;

}

void?delc(int?num1)//課程管理子函數(shù)(刪除課程)

{

struct?couse?*p1,?*p2;

if?(head1?==?NULL)

{

printf("\n沒有課程,無法刪除!\n");

goto?end;

}

p1?=?head1;

while?(num1?!=?p1-num1??p1-next?!=?NULL)

{

p2?=?p1;

p1?=?p1-next;

}

if?(num1?==?p1-num1)

{

if?(p1?==?head1)?head1?=?p1-next;

else?p2-next?=?p1-next;

printf("已刪除該編號課程!\n");

N1?=?N1?-?1;

}

else?printf("無該編號的課程!\n");

end:;

}

void?managementc()//課程管理主函數(shù)

{

struct?couse?*?incouse;

int?i,?num1;

printf("\t\t\t課程管理\n");

printf("1.新增課程\n");

printf("2.刪除課程\n");

printf("3.返回主菜單\n");

printf("請選擇(1~3):\n");

scanf("%d",?i);

switch?(i)

{

case(1)?:

{

incouse?=?(struct?couse?*)malloc(sizeof(struct?couse));

printf("課程編號\t課程名稱\t學分\t課程人數(shù)上限\n");

scanf("%d%s%d%d",?incouse-num1,?incouse-name1,?incouse-score,?incouse-Melepeo);

incouse-nelepeo?=?0;

insertc(incouse);

break;

}

case(2)?:

{

printf("請輸入要刪除課程的編號:\n");

scanf("%d",?num1);

delc(num1);

break;

}

case(3)?:?break;

}

}

void?keyboards()//錄入學生信息子函數(shù)(從鍵盤錄入)

{

int?i;

struct?student?*p1,?*p2;

N2?=?0;

p1?=?p2?=?(struct?student?*)malloc(sizeof(struct?student));

printf("學生學號\t學生姓名\n");

scanf("%d%s",?p1-num2,?p1-name2);

p1-nelen?=?0;

for?(i?=?0;?i20;?i++)?p1-nelenum[i]?=?0;

head2?=?NULL;

while?(p1-num2?!=?0)

{

N2?=?N2?+?1;

if?(N2?==?1)head2?=?p1;

else?p2-next?=?p1;

p2?=?p1;

p1?=?(struct?student?*)malloc(sizeof(struct?student));

scanf("%d%s",?p1-num2,?p1-name2);

p1-nelen?=?0;

for?(i?=?0;?i20;?i++)?p1-nelenum[i]?=?0;

}

p2-next?=?NULL;

}

void?files()//錄入學生信息子函數(shù)(從文件錄入)

{

int?i?=?0;

FILE?*?fp;

char?filepath[20];

struct?student?*p1,?*p2;

N2?=?0;

printf("輸入要讀入的文件路徑:");

getchar();

gets(filepath);

if?((fp?=?fopen(filepath,?"r"))?==?NULL)

{

printf("找不到%s文件!\n",?filepath);

exit(0);

}

p1?=?p2?=?(struct?student*)malloc(sizeof(struct?student));

fread(p1,?sizeof(struct?student),?1,?fp);

head2?=?NULL;

while?(!feof(fp))

{

i?=?0;

N2?=?N2?+?1;

if?(N2?==?1)head2?=?p1;

else?p2-next?=?p1;

p2?=?p1;

p1?=?(struct?student?*)malloc(sizeof(struct?student));

fread(p1,?sizeof(struct?student),?1,?fp);

}

p2-next?=?NULL;

}

void?inputs()//錄入學生信息主函數(shù)

{

int?i;

printf("\t\t\t錄入學生信息\n");

printf("\n1.從鍵盤錄入\n");

printf("2.從文件錄入\n");

printf("3.返回主菜單\n");

printf("請選擇(1~3):\n");

scanf("%d",?i);

switch?(i)

{

case(1)?:?keyboards();?break;

case(2)?:?files();?break;

case(3)?:?break;

}

}

void?inserts(struct?student?*?incouse)//學生信息管理子函數(shù)(填加學生信息)

{

struct?student?*p0,?*p1,?*p2;

p1?=?head2;

p0?=?incouse;

if?(head2?==?NULL)

{

head2?=?p0;

p0-next?=?NULL;

}

else

{

while?((p0-num2??p1-num2)??(p1-next?!=?NULL))

{

p2?=?p1;

p1?=?p1-next;

}

if?(p0-num2?=?p1-num2)

{

if?(head2?==?p1)?head2?=?p0;

else?p2-next?=?p0;

p0-next?=?p1;

}

else

{

p1-next?=?p0;

p0-next?=?NULL;

}

}

N2?=?N2?+?1;

}

void?dels(int?num2)//學生信息管理子函數(shù)(刪除學生信息)

{

struct?student?*p1,?*p2;

if?(head2?==?NULL)

{

printf("\n沒有該學生信息,無法刪除!\n");

goto?end;

}

p1?=?head2;

while?(num2?!=?p1-num2??p1-next?!=?NULL)

{

p2?=?p1;

p1?=?p1-next;

}

if?(num2?==?p1-num2)

{

if?(p1?==?head2)?head2?=?p1-next;

else?p2-next?=?p1-next;

printf("已刪除該學生信息!\n");

N2?=?N2?-?1;

}

else?printf("無該學號的學生!\n");

end:;

}

void?managements()//學生信息管理主函數(shù)

{

struct?student?*?incouse;

int?i,?num2;

printf("\t\t\t學生信息管理\n");

printf("1.新增學生信息\n");

printf("2.刪除學生信息\n");

printf("3.返回主菜單\n");

printf("請選擇(1~3):\n");

scanf("%d",?i);

switch?(i)

{

case(1)?:

{

incouse?=?(struct?student?*)malloc(sizeof(struct?student));

incouse-nelen?=?0;

incouse-nelenum[0]?=?0;

printf("學生學號\t學生姓名\n");

scanf("%d%s",?incouse-num2,?incouse-name2);

inserts(incouse);

break;

}

case(2)?:

{

printf("請輸入要刪除學生的學號:\n");

scanf("%d",?num2);

dels(num2);

break;

}

case(3)?:?break;

}

}

void?elect(struct?student?*?s)//選課

{

struct?couse?*?p;

int?num1,?i;

printf("請輸入要選課的編號:\n");

scanf("%d",?num1);

for?(i?=?0;?s-nelenum[i]?!=?0;?i++);

s-nelenum[i]?=?num1;

(s-nelen)++;

p?=?head1;

while?(p-num1?!=?num1)?p?=?p-next;

(p-nelepeo)++;

}

void?cheak()//學生選課子函數(shù)(查詢可選課程)

{

char?e;

struct?couse?*?c;

struct?student?*?s;

int?num2,?i,?j?=?0,?t?=?0;

printf("請輸入你的學號:");

scanf("%d",?num2);

s?=?head2;

while?(s-num2?!=?num2??s-next?!=?NULL)?s?=?s-next;

if?(s-num2?!=?num2)

{

printf("不存在你的信息,請進入主菜單錄入你的信息!\n");

goto?end;

}

c?=?head1;

printf("你的可選課程編號:\n");

while?(c?!=?NULL)

{

for?(t?=?0,?i?=?0;?s-nelenum[i]?!=?0;?i++)

{

if?(c-num1?==?s-nelenum[i])?t?=?1;

}

if?(t?==?0??(c-nelepeo?!=?c-Melepeo))

{

printf("%d\n",?c-num1);

j++;

}

c?=?c-next;

}

if?(j?==?0)

{

printf("你已選完所有課程,無法再多選!\n");

goto?end;

}

printf("選課(y/n)?:\n");

getchar();

e?=?getchar();

i?=?0;

while?(e?==?'y')

{

elect(s);

printf("繼續(xù)選課(y/n)?:\n");

getchar();

e?=?getchar();

}

end:;

}

void?back(struct?student?*?p)//退課

{

struct?couse?*?p1;

int?num1,?i,?j;

printf("請輸入你要退掉的課程編號:\n");

scanf("%d",?num1);

p1?=?head1;

while?(p1-num1?!=?num1)?p1?=?p1-next;

for?(i?=?0;?p-nelenum[i]?!=?num1;?i++);

for?(j?=?i;?p-nelenum[j]?!=?0;?j++)?p-nelenum[j]?=?p-nelenum[j?+?1];

p-nelenum[--j]?=?0;

(p1-nelepeo)--;

printf("退課成功!\n");

}

void?hcheak()//學生選課子函數(shù)(查詢已選課程)

{

char?c;

struct?couse?*?p0;

struct?student?*?p;

int?num2,?i,?f?=?0;

printf("請輸入學號:\n");

scanf("%d",?num2);

p?=?head2;

while?(p-num2?!=?num2??p?!=?NULL)?p?=?p-next;

if?(p?==?NULL)

{

printf("不存在你的信息,請回主菜單錄入信息:\n");

goto?end;

}

printf("已選課程編號:\n");

if?(p-nelenum[0]?==?0)

{

printf("你還沒選課!\n");

goto?end;

}

for?(i?=?0;?p-nelenum[i]?!=?0;?i++)

{

printf("%d\n",?p-nelenum[i]);

p0?=?head1;

while?(p0-num1?!=?p-nelenum[i])?p0?=?p0-next;

f?=?f?+?p0-score;

}

printf("總學分:%d\n",?f);

printf("是否進行退課(y/n)?");

getchar();

c?=?getchar();

while?(c?==?'y')

{

back(p);

printf("繼續(xù)退課(y/n)?");

getchar();

c?=?getchar();

(p-nelen)--;

}

end:;

}

void?elective()//學生選課主函數(shù)

{

int?i;

printf("\t\t\t學生選課\n");

printf("1.查詢可選課程\n");

printf("2.查詢已選課程\n");

printf("3.返回主菜單\n");

printf("請輸入(1~3):\n");

scanf("%d",?i);

switch?(i)

{

case(1)?:?cheak();?break;

case(2)?:?hcheak();?break;

case(3)?:?break;

}

}

void?listc()//輸出課程信息

{

struct?couse?*?p;

p?=?head1;

printf("課程編號??課程名稱??學分??課程已選人數(shù)??課程人數(shù)上限\n");

while?(p?!=?NULL)

{

printf("%-8d%10s%6d%8d%12d\n",?p-num1,?p-name1,?p-score,?p-nelepeo,?p-Melepeo);

p?=?p-next;

}

}

void?lists()//輸出學生信息

{

struct?student?*?p;

p?=?head2;

printf("學生學號??學生姓名??已選課程數(shù)量\n");

while?(p?!=?NULL)

{

printf("%-4d?%10s?%6d\n",?p-num2,?p-name2,?p-nelen);

p?=?p-next;

}

}

void?intoc()//存儲課程信息

{

FILE?*?fp;

struct?couse?*?p;

char?filepath[30];

printf("輸入課程信息要保存的文件路徑:");

getchar();

gets(filepath);

if?((fp?=?fopen(filepath,?"w"))?==?NULL)

{

printf("\n保存失敗!");

exit(0);

}

p?=?head1;

while?(p?!=?NULL)

{

fprintf(fp,?"%d?%s?%d?%d?%d\n",?p-num1,?p-name1,?p-score,?p-nelepeo,?p-Melepeo);

p?=?p-next;

}

fclose(fp);

printf("課程信息已保存在%s中!\n",?filepath);

}

void?intos()//存儲學生信息

{

FILE?*?fp;

struct?student?*?p;

char?filepath[30];

printf("輸入學生信息要保存的文件路徑:");

getchar();

gets(filepath);

if?((fp?=?fopen(filepath,?"w"))?==?NULL)

{

printf("\n保存失敗!");

exit(0);

}

p?=?head2;

while?(p?!=?NULL)

{

fwrite(p,?sizeof(struct?student),?1,?fp);

p?=?p-next;

}

fclose(fp);

printf("學生信息已保存在%s中!\n",?filepath);

}

void?into()//存儲信息

{

int?i;

printf("1.存儲課程信息\n");

printf("2.存儲學生信息\n");

printf("3.返回主菜單\n");

printf("請輸入(1~3)\n");

scanf("%d",?i);

switch?(i)

{

case(1)?:?intoc();?break;

case(2)?:?intos();?break;

case(3)?:?break;

}

}

void?store()//信息主函數(shù)

{

int?i;

printf("\t\t系統(tǒng)信息查看及存儲\n");

printf("1.查看課程信息\n");

printf("2.查看學生信息\n");

printf("3.存儲信息\n");

printf("4.返回主菜單\n");

printf("請輸入(1~4):\n");

scanf("%d",?i);

switch?(i)

{

case(1)?:?listc();?break;

case(2)?:?lists();?break;

case(3)?:?into();?break;

case(4)?:?break;

}

}

int?main()//主函數(shù)

{

int?i;

start:

printf("\n\t\t\t歡迎使用學生選課系統(tǒng)!\n");

printf("菜單:\n");

printf("1.錄入課程信息\n");

printf("2.課程管理\n");

printf("3.錄入學生信息\n");

printf("4.學生信息管理\n");

printf("5.學生選課\n");

printf("6.系統(tǒng)信息查看及存儲\n");

printf("7.退出系統(tǒng)\n");

printf("\n請輸入菜單選項(1~7):\n");

scanf("%d",?i);

if?(i1?||?i7)

{

printf("輸入錯誤,請重輸:\n");

goto?start;

}

switch?(i)

{

case(1)?:

{

system("cls");

inputc();

goto?start;

break;

}

case(2)?:

{

system("cls");

managementc();

goto?start;

break;

}

case(3)?:

{

system("cls");

inputs();

goto?start;

break;

}

case(4)?:

{

system("cls");

managements();

goto?start;

break;

}

case(5)?:

{

system("cls");

elective();

goto?start;

break;

}

case(6)?:

{

system("cls");

store();

goto?start;

break;

}

case(7)?:

{

system("cls");

printf("感謝使用本系統(tǒng)!\n\n再見!\n");

}

}

return(0);

}

c語言怎么調(diào)用子函數(shù)給數(shù)組的每個元素加10

1、首先打開c語言編輯器,新建一個C語言的文件,文件中引入C語言的頭文件,新建一個main函數(shù),函數(shù)中設(shè)置一個10個元素的數(shù)組以及一個用來求和的變量2、之后用一個for循環(huán)遍歷數(shù)組,每次都從scanf中取到用戶輸入的數(shù)并存入數(shù)組中,存完后再用sum加這個數(shù),如此便能求出數(shù)組內(nèi)元素的和了:3、最后運行程序,輸入10個數(shù)即可看到結(jié)果。以上就是用c語言從鍵盤輸入10個數(shù)存入數(shù)組并求和的方法

問題還沒解決?快來咨詢專業(yè)答主~

c語言怎么用函數(shù)的定義和調(diào)用公式存入10個數(shù)據(jù)

在線

5019位答主在線答

服務(wù)保障

專業(yè)

響應(yīng)快

馬上提問

40345人對答主服務(wù)作出評價

回答切中要害老師態(tài)度很好回答專業(yè)迅速回答很耐心認真大平臺保障,服務(wù)好回答切中要害老師態(tài)度很好回答專業(yè)迅速回答很耐心認真大平臺保障,服務(wù)好

搶首贊

分享評論

海信商城,雙12家電盛典開啟!

值得一看的海信冰箱相關(guān)信息推薦

海信直營,一站式購物!邀您大屏共享世界杯~快捷方便,正品行貨,質(zhì)量可靠,售后無憂,全國聯(lián)保,全場包郵。

海信集團控股股份有..廣告

威然 Viloran 質(zhì)享格調(diào)新高度

值得一看的mpv相關(guān)信息推薦

懸浮式中控屏彰顯優(yōu)雅,撥片式數(shù)字換擋輕松撥動磅礴動力,L2級駕駛輔助智能護航

上海上汽大眾汽車銷售有限公司廣告

C語言如何通過輸入數(shù)據(jù)來得出函數(shù)

小啵啵魚1

服務(wù)態(tài)度好

您好親,C語言有多個函數(shù)可以從鍵盤獲得用戶輸入,它們分別是:scanf():和 printf() 類似,scanf() 可以輸入多種類型的數(shù)據(jù)。getchar()、getche()、getch():這三個函數(shù)都用于輸入單個字符。gets():獲取一行數(shù)據(jù),并作為字符串處理。scanf() 是最靈活、最復雜、最常用的輸入函數(shù),上節(jié)我們已經(jīng)進行了講解,本節(jié)接著講解剩下的函數(shù),也就是字符輸入函數(shù)和字符串輸入函數(shù)。

C語言將數(shù)據(jù)由文件輸入數(shù)組后,怎么將數(shù)組的值傳給另一個子函數(shù)。

函數(shù)參數(shù)有傳值和傳址兩種,你只要把數(shù)組的首地址傳過去就可以了,函數(shù)參數(shù)是個指針,接收數(shù)組首地址,就可以在子函數(shù)中用指針調(diào)用數(shù)組中的數(shù)據(jù)。


網(wǎng)頁名稱:c語言中從文件錄入子函數(shù) c語言文件的錄入
標題來源:http://weahome.cn/article/dogdhhg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部