終結者版c語言課程設計,c語言課程設計結束語

本文目錄一覽:

一個c語言的習題 求解

你是哪的啊?怎麼和我們的一樣啊?必須告訴我,是一個學校的就告訴你了!這個就是完整的程序!你就不用改了!

#include stdio.h

#include io.h

#include stdlib.h

#include string.h

#define MAX 200

struct student

{

char no[10]; // 學號

char name[50]; // 姓名

int age; //年齡

char sex[100]; //性別

char birthday[50];//出生年月

char address[50]; //地址

char phone[50]; //電話

char mail[50]; //E-mail

};

struct data

{

int count; // 當前學生數組中學生的個數

struct student stu[MAX]; // 學生數組

} dd;

// 顯示主菜單

void menu()

{

system(“cls”);

printf(“\n”);

printf(“\t\t\t********************************\n”);

printf(“\t\t\t* *\n”);

printf(“\t\t\t* 學生信息管理系統 *\n”);

printf(“\t\t\t* *\n”);

printf(“\t\t\t* [0] 退出 *\n”);

printf(“\t\t\t* [1] 查看所有學生信息 *\n”);

printf(“\t\t\t* [2] 輸入學生信息 *\n”);

printf(“\t\t\t* [3] 刪除學生記錄 *\n”);

printf(“\t\t\t* [4] 修改學生記錄 *\n”);

printf(“\t\t\t* [5] 查詢(學號) *\n”);

printf(“\t\t\t* [6] 查詢(姓名) *\n”);

printf(“\t\t\t********************************\n”);

}

// 等待用戶按回車後回到主菜單

void to_menu()

{

char c1,c2;

printf(“\n\n\n按回車鍵返回主菜單…”);

scanf(“%c%c”,c1,c2);

menu();

}

// 查看所有學生信息

void view_data()

{

int i;

printf(“學號\t姓名\t年齡\t性別\t出生年月\t地址\t電話\tmail”);

printf(“\n——————————————————————-\n”);

for(i=0;idd.count;i++)

printf(“%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\n”,dd.stu[i].no,dd.stu[i].name,dd.stu[i].age,dd.stu[i].sex,dd.stu[i].birthday,dd.stu[i].address,dd.stu[i].phone,dd.stu[i].mail);

printf(“\n”);

}

// 將數據從結構體數組保存到文件中

void save_data()

{

FILE *fp;

int i,k;

k=dd.count;

fp=fopen(“c:/dada.txt”,”w”);

fwrite(k,sizeof(int),1,fp);

for(i=0;ik;i++)

fwrite(dd.stu[i],sizeof(struct student),1,fp);

fclose(fp);

}

// 輸入學生記錄

void add_data()

{

struct student st;

int b;

int k;

while(1)

{

printf(“\n請輸入學生信息:”);

printf(“\n學號\t姓名\t年齡\t性別\t出生年月\t地址\t電話\tmail”);

printf(“\n—————————————————————\n”);

scanf(“%s%s%d%s%s%s%s%s”,st.no,st.name,st.age,st.sex,st.birthday,st.address,st.phone,st.mail);

k = dd.count;

strcpy(dd.stu[k].no,st.no);

strcpy(dd.stu[k].name,st.name);

dd.stu[k].age=st.age;

strcpy(dd.stu[k].sex,st.sex);

strcpy(dd.stu[k].birthday,st.birthday);

strcpy(dd.stu[k].address,st.address);

strcpy(dd.stu[k].phone,st.phone);

strcpy(dd.stu[k].mail,st.mail);

dd.count++;

printf(“\n\n繼續添加學生信息[1-yes 0-no]:”);

scanf(“%d”,b);

if(b==0) break;

}

save_data();

}

// 將數據從文件讀到結構體數組中

void read_data()

{

FILE *fp;

int i,k;

struct student st;

k=0;

if(access(“c:/dada.txt”,0)==-1) // 如果文件不存在

{

fp=fopen(“c:/dada.txt”,”w”);

fwrite(k,sizeof(int),1,fp);

fclose(fp);

}

fp=fopen(“c:/dada.txt”,”r”);

fread(k,sizeof(int),1,fp);

dd.count=k;

for(i=0;ik;i++)

{

fread(st,sizeof(struct student),1,fp);

strcpy(dd.stu[i].no,st.no);

strcpy(dd.stu[i].name,st.name);

dd.stu[i].age=st.age;

strcpy(dd.stu[i].sex,st.sex);

strcpy(dd.stu[i].birthday,st.birthday);

strcpy(dd.stu[i].address,st.address);

strcpy(dd.stu[i].phone,st.phone);

strcpy(dd.stu[i].mail,st.mail);

}

fclose(fp);

}

// 刪除學生記錄

void delete_data()

{

int i,k;

char no[10];

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

scanf(“%s”,no);

k=-1;

for(i=0;idd.count;i++)

{

if(strcmp(dd.stu[i].no,no)==0)

{

k=i;

break;

}

}

if(k==-1)

{

printf(“\n\n沒有找到該學生(學號-%s)!”,no);

}

else

{

for(i=k;idd.count-1;i++)

{

strcpy(dd.stu[i].no,dd.stu[i+1].no);

strcpy(dd.stu[i].name,dd.stu[i+1].name);

dd.stu[i].age=dd.stu[i].age;

strcpy(dd.stu[i].sex,dd.stu[i+1].sex);

strcpy(dd.stu[i].birthday,dd.stu[i+1].birthday);

strcpy(dd.stu[i].address,dd.stu[i+1].address);

strcpy(dd.stu[i].phone,dd.stu[i+1].phone);

strcpy(dd.stu[i].mail,dd.stu[i+1].mail);

}

dd.count–;

save_data();

printf(“\n\n刪除(學號-%s)成功!”,no);

}

}

// 修改學生信息

void edit_data()

{

int i,k,age;

char no[10],name[50],sex[50],birthday[50],address[50],phone[50],mail[50];

printf(“\n請輸入要修改學生信息的學號:”);

scanf(“%s”,no);

k=-1;

for(i=0;idd.count;i++)

{

if(strcmp(dd.stu[i].no,no)==0)

{

k=i;

break;

}

}

if(k==-1)

{

printf(“\n\n沒有找到該學生(學號-%s)!”,no);

}

else

{

printf(“\n請輸入學生數據:”);

printf(“\n學號\t姓名\t年齡\t性別\t出生年月\t地址\t電話\tmail”);

printf(“\n——————————————————————–\n”);

scanf(“%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s”,no,name,age,sex,birthday,address,phone,mail);

strcpy(dd.stu[k].no,no);

strcpy(dd.stu[k].name,name);

dd.stu[k].age=age;

strcpy(dd.stu[k].sex,sex);

strcpy(dd.stu[k].birthday,birthday);

strcpy(dd.stu[k].address,address);

strcpy(dd.stu[k].phone,phone);

strcpy(dd.stu[k].mail,mail);

save_data();

printf(“\n\n修改學生信息(學號-%s)成功!”,no);

}

}

// 查詢(學號)

void query_data_no()

{

int i,k;

char no[10];

printf(“\n請輸入要查詢學生的學號:”);

scanf(“%s”,no);

k=-1;

for(i=0;idd.count;i++)

{

if(strcmp(dd.stu[i].no,no)==0)

{

if(k==-1)

{

printf(“\n\n學號\t姓名\t年齡\t性別\t出生年月\t地址\t電話\tmail”);

printf(“\n—————————————————————–\n”);

}

k=i;

printf(“%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\n”,dd.stu[i].no,dd.stu[i].name,dd.stu[i].age,dd.stu[i].sex,dd.stu[i].birthday,dd.stu[i].address,dd.stu[i].phone,dd.stu[i].mail);

}

}

if(k==-1)

{

printf(“\n\n沒有找到該學生(學號-%s)!”,no);

}

}

// 查詢(姓名)

void query_data_name()

{

int i,k;

char name[10];

printf(“\n請輸入要查詢學生的姓名:”);

scanf(“%s”,name);

k=-1;

for(i=0;idd.count;i++)

{

if(strcmp(dd.stu[i].name,name)==0)

{

if(k==-1)

{

printf(“\n\n學號\t姓名\t年齡\t性別\t出生年月\t地址\t電話\tmail”);

printf(“\n—————————————————————–\n”);

}

k=i;

printf(“%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\n”,dd.stu[i].no,dd.stu[i].name,dd.stu[i].age,dd.stu[i].sex,dd.stu[i].birthday,dd.stu[i].address,dd.stu[i].phone,dd.stu[i].mail);

}

}

if(k==-1)

{

printf(“\n\n沒有找到該學生(姓名-%s)!”,name);

}

}

// 主函數

void main()

{

int fun;

read_data();

menu();

while(1)

{

printf(“請輸入功能號[0-8]:”,fun);

scanf(“%d”,fun);

switch(fun)

{

case 0: // 退出

break;

case 1: // 查看所有學生信息

view_data();

break;

case 2: // 輸入學生記錄

add_data();

break;

case 3: // 刪除學生記錄

delete_data();

break;

case 4: // 編輯學生記錄

edit_data();

break;

case 5: // 查詢(學號)

query_data_no();

break;

case 6: // 查詢(姓名)

query_data_name();

break;

break;

}

if(fun==0) break;

to_menu();

}

}

2011年

C語言題目求解 《C和指針》64頁,4.14編程練習第五題

用變數指針存下前一行的輸入記錄,比對下一行就可以了額。有什麼大的問題嗎?

[C語言]隨意輸入一串字元,統計出裡面母音字母的個數

#include “stdio.h”

void fun (char *str,int num[], int n) {

int i=0;

// 初始化num

for (i=0; in; i++)

num[i]=0;

// *str == ‘\0’終結

while(str) {

switch (*str) {

case ‘a’: case ‘A’:

case ‘e’: case ‘E’:

case ‘i’: case ‘I’:

case ‘o’: case ‘O’:

case ‘u’: case ‘U’: num[0]++; break;

default: num[1]++; break;

}

str ++;

}

return;

}

main()

{

int num[2],i;

char str[256];

gets(str);

fun(str, num, 2);

printf(“母音數是:%d 輔音數是:%d\n”,num[0],num[1]);

}

本程序適於擴展,並且高效。

C語言與C++與JAVA的區別是什麼?

C語言是經典的面向過程的編程語言,編程入門一般都學C語言以了解編程以及鍛煉邏輯思維能力,在一些跟硬體比較緊密的編程中也經常用到。\x0d\x0a\x0d\x0aC++是在C語言的基礎上加入了面向對象的概念,成為混合型面向對象語言,功能強大,但難度也大。\x0d\x0a\x0d\x0aJava是在C++的基礎上進行改進的,摒棄了一些C++的不足之處,語法跟C++很像,它是運行在Java虛擬機上,所以可以跨平台,一處編譯,到處執行。\x0d\x0a\x0d\x0a編程都是易學難精,哪個都好學,哪個又都不好學。都有很好的發展前景,就看是什麼方向了。底層的C、桌面應用程序、遊戲等等C++、嵌入式,網頁,Java。

c語言課程設計:圖書管理系統。運行總出錯,求大神修改,可追加懸賞

#includestdio.h

#includestring.h

#includestdlib.h

struct book{

char ISBN[10];

char book[30];

char author[20];

char edition[10];

char press[50];

char year[10];

};

void add_book();

void delete_book();

void modify_book();

void scan_book();

void Me();

int main()

{

int c3;

while(1)

{

system(“color 2C”);

printf(“\t\t\t=========圖書管理系統======\n”);

printf(“\t\t\t [1] 添加圖書 \n”);

printf(“\t\t\t [2] 刪減圖書 \n”);

printf(“\t\t\t [3] 修改圖書信息 \n”);

printf(“\t\t\t [4] 瀏覽圖書信息 \n”);

printf(“\t\t\t [5] 作者信息 \n”);

printf(“\t\t\t [6] 退出圖書管理系統 \n”);

printf(“\t\t\t=========================\n”);

printf(“\n”);

printf(“請選擇你的操作 :”);

scanf(“%d”,c3);

getchar();

switch(c3)

{

case 1:add_book(); break;

case 2:delete_book(); break;

case 3:modify_book(); break;

case 4:scan_book(); break;

case 5:Me(); break;

case 6:system(“cls”);

//return 0;這是返回就跳出程序了,會終止程序運行

}

}

return 0;//其實這句被執行,這個程序就終結了,釋放所有被使用的資源。

}

//添加

void add_book()

{

FILE *fp;

struct book n;

struct book nn;

char x;

int l,r;

fp=fopen(“圖書管理系統.txt”,”ab+”);

do

{

system(“cls”);

do//I標誌用得不好

{

// l=0;此處的移進下一循環內

printf(“\n”);

printf(“編號 書名 作者 版本號 出版社 出版時間\n”);

fflush(stdin);

scanf(“%s %s %s %s %s %s”,n.ISBN,n.book,n.author,n.edition,n.press,n.year);

system(“cls”);

rewind(fp);

while(!feof(fp))

{

l=0;// 移進此處,每次判斷都是設定默認值,否則被修改後不是默認值

fread(nn,sizeof(nn),1,fp);

r=strcmp(n.book,nn.book);

if(r==0)

{

l=1;

printf(” 該圖書已存在,請輸入新的圖書信息: \n\n”);

break;

}

}

}while(l);

fwrite(n,sizeof(n),1,fp);

printf(“\n”);

printf(“是否繼續輸入新的圖書信息[y/n] \n\n”);

do

{

x=getchar();

}while(x!=’n’x!=’y’);

}while(x==’y’);

fclose(fp);

system(“cls”);

}

//刪除圖書

void delete_book()

{

FILE *fp,*fp1;

char x,z;

struct book n;

struct book nn;

int l,r;

fp=fopen(“圖書管理系統.txt”,”ab+”);

while(1)

{

l=0;

system(“cls”);

printf(“\n”);

printf(“請輸入需要刪除的圖書名: \n\n”);

fflush(stdin);

scanf(“%s”,n.book);

rewind(fp);

while(1)

{

fread(nn,sizeof(nn),1,fp);

if(feof(fp))

break;

r=strcmp(n.book,nn.book);

if(r==0)//本來可以 得到結果後可以直接進行刪除動作,沒有則檢查下一個,你現在

//不用這種結構,寫得太多了,不跟你修改了

{

l=1;

break;

}

if(l==0)

{

printf(“\n”);

printf(“對不起,未找到該圖書 \n”);

}

else

{

printf(“\n”);

printf(“編號 書名 作者 版本號 出版社 出版時間\n”);

printf(“\n”);

//下面應該是列印,n的值應該從搜索到值讀出來列印,怎麼還手工輸入圖書信息,手

//工輸入能保證每一次輸入都與原信息一樣嗎?

scanf(“%s %s %s %s %s %s”,n.ISBN,n.book,n.author,n.edition,n.press,n.year);

printf(“\n”);

printf(“確認刪除圖書信息? [是(y)/否(n)]\n\n”);

do

{

z=getchar();

}while(z!=’n’z!=’y’);

if(z==’n’)

break;

else

{

fp1=fopen(“圖書管理系統.txt”,”wb”);

rewind(fp);

while(1)

{

fread(nn,sizeof(nn),1,fp);

if(feof(fp))

break;

r=strcmp(n.book,nn.book);

if(r!=0)

fwrite(nn,sizeof(nn),1,fp1);

}

fclose(fp);

fclose(fp1);

fp=fopen(“圖書管理系統.txt”,”wb”);

fp1=fopen(“圖書管理系統new.txt”,”rb”);

while(1)

{

fread(nn,sizeof(nn),1,fp1);

if(feof(fp1))

break;

fwrite(nn,sizeof(nn),1,fp);

}

fclose(fp);

fclose(fp1);

}

}

printf(“\n”);

printf(“是否繼續刪除圖書信息? [是(y)/否(n)] \n”);

do

{

x=getchar();

}while(x!=’n’x!=’y’);

if(x==’n’)

break;

}

fclose(fp);

system(“cls”);

}

//修改圖書信息

void modify_book()

{

FILE *fp;

struct book n;

struct book nn;

int l,r;

char x;

fp=fopen(“圖書管理系統.txt”,”rb+”);

while(1)

{

l=0;

printf(“\n”);

system(“cls”);

printf(“請輸入需要修改的圖書名: \n\n”);

fflush(stdin);

scanf(“%s”,n.book);

system(“cls”);

rewind(fp);

while(1)

{

fread(nn,sizeof(nn),1,fp);

if(feof(fp))

break;

r=strcmp(n.book,nn.book);

if(r==0)

{

l=1;

break;

}

}

if(l==0)

{

printf(“\n”);

printf(“對不起,未找到該圖書信息 \n\n”);

}

else

{

printf(“\n”);

printf(“編號 書名 作者 版本號 出版社 出版時間\n”);

printf(“\n”);

//下面應該是列印,n的值應該從搜索到值讀出來列印,怎麼還手工輸入圖書信息,

//手工輸入能保證每一次輸入都與原信息一樣嗎?

scanf(“%s %s %s %s %s %s”,n.ISBN,n.book,n.author,n.edition,n.press,n.year);

printf(“請依次修改圖書信息\n\n\n”);

fflush(stdin);

scanf(“%s %s %s %s %s %s”,n.ISBN,n.book,n.author,n.edition,n.press,n.year);

fseek(fp,sizeof(nn),1);

fwrite(n,sizeof(nn),1,fp);

}

printf(“\n”);

printf(” 是否繼續修改用戶信息[y/n]? \n\n”);

do

{

x=getchar();

}while(x!=’n’x!=’y’);

if(x==’n’)

break;

}

fclose(fp);

system(“cls”);

}

//瀏覽

void scan_book()

{

FILE*fp;

char x;

struct book n;

fp=fopen(“圖書管理系統.txt”,”rb”);

rewind(fp);

system(“cls”);

while(1)

{

fread(n,sizeof(n),1,fp);

if(feof(fp))

break;

else

{

printf(“編號 書名 作者 版本號 出版社 出版時間\n”);

printf(“\n”);

//下面應該是列印,n的值應該從搜索到值讀出來列印,閱覽信息怎會輸入信息

scanf(“%s %s %s %s %s %s”,n.ISBN,n.book,n.author,n.edition,n.press,n.year);

printf(“\n”);

}

}

printf(“\n”);

printf(“回到主菜單請按回車”);

do

{

x=getchar();

}while(x!=’\r’);

if(x==’\r’)

{

fclose(fp);

//main();子函數調用主函數,變成遞歸,不知程序怎麼運行了;

system(“cls”);

return;//返回主程序就可以了,主程序一直主菜單里運行

}

}

void Me(){

printf(“作者姓名:0\n”);

printf(“作者學號:0\n”);

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/259411.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 16:28
下一篇 2024-12-15 16:28

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python數據處理課程設計

    本文將從多個方面對Python數據處理課程設計進行詳細闡述,包括數據讀取、數據清洗、數據分析和數據可視化四個方面。通過本文的學習,讀者將能夠了解使用Python進行數據處理的基本知…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28

發表回復

登錄後才能評論