當前位置:首頁 » 課程大全 » 課程設計代碼

課程設計代碼

發布時間: 2020-11-28 11:12:07

㈠ c++課程設計源代碼

c++課程設計 學生管理系統源代碼
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
typedef struct stu
{
char name[20];
long int number;
int snum;
char sex[20];
char add[30] ;
char time[20];
char tel[20];
struct stu *next;
}stu,*student;
int init(student &s);
void insert(student &s);
void print(student &s);
int delete(student &s);
void find (student &s);
void findname(student &s);
void findnum(student &s);
void modifay(student &s);
void putfile(student &s);
void getfile(student &s);

void main()
{
student s;
init(s);
cout<<"歡迎使用學生管理系統."<<endl;
cout<<" "<<endl;
cout<<endl;
while(1)
{
int i;
mainint:
cout<<"請選擇相關操作:"<<endl<<"1.建立學生資料文件."<<endl<<"2.瀏覽."<<endl<<"3.刪除."<<endl;
cout<<"4.查詢."<<endl<<"5.修改."<<endl<<"6.打開學生文件."<<endl<<"7.退出管理系統." <<endl<<"請選擇:";
cin>>i;
if(i<0||i>7)
{
cout<<"輸入了錯誤的數字,Again!"<<endl<<endl;
goto mainint;
}
switch(i)
{
case 1: insert(s);break;
case 2: print(s);
putfile(s);
break;
case 3: ldelete(s);break;
case 4: find(s);break;
case 5: modifay(s);
break;
case 6: getfile(s);break;
case 7: exit(0);
}
}

}
int init(student &s)
{
s=(student)malloc(sizeof(stu));
if (s)
{
s->next=NULL;
return 0;
}
else return -1;
}
void insert(student &s) //insert
{
cout<<endl;
student p,q;
p=(student)malloc(sizeof(stu));
cout<<"請輸入學生信息:"<<endl;
cout<<"姓名:";
cin>>p->name;
cout<<endl;
cout<<"學號:";
cin>>p->number;
cout<<endl;
cout<<"性別:";
cin>>p->sex;
cout<<endl;
cout<<"家庭住址:" ;
cin>>p->add;
cout<<endl;
cout<<"出生年月:" ;
cin>>p->time;
cout<<endl;
cout<<"宿舍號:";
cin>>p->snum;
cout<<endl;
cout<<"宿舍號碼:";
cin>>p->tel;
q=s;
while(!(q->next==NULL)&&(q->next->number<p->number))
q=q->next;
p->next=q->next;
q->next=p;
//if()p->next=NULL;
//free(p);

}
int ldelete(student &s) //delete
{
cout<<endl;
student p,a;
p=s ;
cout<<"請輸入刪除的學號:";
long int number;
cin>>number;
while(p)
{ if (p->number==number)
{
a->next=p->next;
free(p); return(0);}
else
{ a=p;
p=p->next;} }
cout<<"沒有找到你要刪除的選項!"<<endl<<endl;return(-1);
}
void print(student &s)
{
int a;
a=0;
student p;
p=s->next;
cout<<"姓名 "<<"學號 " <<"性別 "<<"家庭住址 "<<"出生年月 "<<"宿舍號"<<"宿舍號碼"<<endl;
while(p)
{
a++;
cout<<p->name<<" "<<p->number<<" "<<p->sex<<" "<<p->add<<" "<<p->time<<" "<<p->snum<<" "<<p->tel<<" "<<endl;
p=p->next;
}
cout<<endl;
if (a==0)
cout<<"還沒有學生信息!"<<endl<<endl ;
}
void find (student &s) //find
{
findl:
cout<<"請選擇查找方法:"<<endl<<"1.按姓名查找."<<endl<<"2.按學號查找."<<endl;
cout<<"請選擇:";
int k;
cin>>k;
if(k<0||k>3)
{
cout<<"輸了入錯誤數字,Again!"<<endl<<endl;
goto findl;
}

switch(k)
{
case 1: findname(s);break;
case 2: findnum(s);break;
}
}

void findname(student &s) //find by name
{
student p;
p=s->next;
cout<<"請輸入姓名:";
char name[20];
int j;
j=0;
cin>>name;
cout<<"你要查找的資料是:"<<endl;
cout<<"姓名 "<<"學號 " <<"性別 "<<"家庭住址 "<<"出生日期 "<<"宿舍號 "<<"宿舍號碼"<<endl;
while(p)
{
if (strcmp(p->name,name)==0)
{
cout<<p->name<<" "<<p->number<<" "<<p->sex<<" "<<p->add<<" "<<p->time<<" "<<p->snum<<" "<<p->tel<<" "<<endl;
j++;
}
p=p->next;
}
cout<<endl;
if(j==0)
cout<<"對不起,沒找到你要的信息!"<<endl<<endl ;
}
void findnum(student &s) //find by number
{
student p;
p=s->next;
cout<<"請輸入學號:";
long int number;
int j;
j=0;
cin>>number;
cout<<"你要查找的資料是:"<<endl;
cout<<"姓名 "<<"學號 "<<"性別 "<<"家庭住址 "<<"出生日期 "<<"宿舍號 "<<"宿舍電話"<<endl;
while(p)
{
if (p->number==number)
{
cout<<p->name<<" "<<p->number<<" "<<p->sex<<" "<<p->add<<" "<<p->time<<" "<<p->snum<<" "<<p->tel<<" "<<endl;
j++;
}
p=p->next;
}
cout<<endl;
if(j==0)
cout<<"對不起,沒找到你要的信息"<<endl<<endl ;
}
void modifay(student &s) //modifay
{
student q,p,l,m;
int j;
j=0;
q=s->next;
l=s;
m=s;
cout<<"請輸入要修改的學號:" ;
long int num;
cin>>num;
cout<<"姓名 "<<"學號 "<<"性別 "<<"家庭住址 "<<"入學時間 "<<"宿舍號 "<<"電話號碼"<<endl;
while(q)
{
if (q->number==num)
{
cout<<"你要修改的信息是:"<<endl;
cout<<q->name<<" "<<q->number<<" "<<q->sex<<" "<<q->add<<" "<<q->time<<" "<<q->snum<<" "<<q->tel<<" "<<endl;
j++;
p=(student)malloc(sizeof(stu));
cout<<"請輸入新的學生信息:"<<endl;
cout<<"姓名:";
cin>>p->name;
cout<<endl;
cout<<"學號:";
cin>>p->number;
cout<<endl;
cout<<"年齡:";
cin>>p->age;
cout<<endl;
cout<<"性別:";
cin>>p->sex;
cout<<endl;
cout<<"家庭住址:" ;
cin>>p->add;
cout<<endl;
cout<<"入學時間:" ;
cin>>p->time;
cout<<endl;
cout<<"電話號碼:";
cin>>p->tel;
l->next=q->next;
free(q);
goto tt;
}
else
{
l=q;
q=q->next;
}
}
cout<<endl;
if (j==0) cout<<"沒找到你要的數據!"<<endl<<endl ;
tt:
while(!(m->next==NULL)&&(m->next->number<p->number))
m=m->next;
p->next=m->next;
m->next=p;
}
void putfile(student &s)
{
student p;
p=s->next;
FILE *fp;
if((fp=fopen("information.txt","w"))==NULL)
{
cout<<"打不開文件"<<endl<<endl;
exit(0);
}
while(p)
{
if(fwrite(p,sizeof(struct stu),1,fp)!=1 )
{
cout<<"文件寫入錯誤"<<endl<<endl;
return;
}
p=p->next;
}
fclose(fp) ;
}
void getfile(student &s)
{
student p,q;
q=s;
FILE *fp1 ;
if((fp1=fopen("information.txt","r"))==NULL)
{
cout<<"打不開文件"<<endl;
exit(0);
}
cout<<"姓名 "<<"學號 "<<"性別 "<<"家庭住址 "<<"入學時間 "<<"宿舍號 "<<"電話號碼"<<endl;
p=(student)malloc(sizeof(stu));
while(fread(p,sizeof(struct stu),1,fp1)!=0)
{
cout<<p->name<<" "<<p->number<<" "<<p->sex<<" "<<p->add<<" "<<p->time<<" "<<p->age<<" "<<p->tel<<endl;
while(!(q->next==NULL)&&(q->next->number<p->number))
q=q->next;
p->next=q->next;
q->next=p;
p=(student)malloc(sizeof(stu));
}
fclose(fp1);
cout<<endl;
}

㈡ 跪求數據結構課程設計(C語言版)代碼,感激不盡

在C語言中,結構體(struct)指的是一種數據結構,是C語言中聚合數據類型(aggregate data type)的一類。結構體可以被聲明為變數、指針或數組等,用以實現較復雜的數據結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員(member),且這些成員可以為不同的類型,成員一般用名字訪問。[1]
定義與聲明
結構體的定義如下所示,struct為結構體關鍵字,tag為結構體的標志,member-list為結構體成員列表,其必須列出其所有成員;variable-list為此結構體聲明的變數。[1]
struct tag {
member-list
} variable-list ;

在一般情況下,tag、member-list、variable-list這3部分至少要出現2個。以下為示例:[1]
//此聲明聲明了擁有3個成員的結構體,分別為整型的a,字元型的b和雙精度的c
//同時又聲明了結構體變數s1
//這個結構體並沒有標明其標簽

struct {

int a;

char b;

double c;

} s1;

//同上聲明了擁有3個成員的結構體,分別為整型的a,字元型的b和雙精度的c
//結構體的標簽被命名為SIMPLE,沒有聲明變數
struct SIMPLE{

int a;

char b;

double c;

};

//用SIMPLE標簽的結構體,另外聲明了變數t1、t2、t3
struct SIMPLE t1, t2[20], *t3;
//也可以用typedef創建新類型
typedef struct{
int a;
char b;
double c;
} Simple2;
//現在可以用Simple2作為類型聲明新的結構體變數
Simple2 u1, u2[20], *u3;

在上面的聲明中,第一個和第二聲明被編譯器當作兩個完全不同的類型,即使他們的成員列表是一樣的,如果令t3=&s1,則是非法的。[1]
結構體的成員可以包含其他結構體,也可以包含指向自己結構體類型的指針,而通常這種指針的應用是為了實現一些更高級的數據結構如鏈表和樹等。[1]
//此結構體的聲明包含了其他的結構體
struct COMPLEX{
char string[100];
struct SIMPLE a;
};
//此結構體的聲明包含了指向自己類型的指針
struct NODE{
char string[100];
struct NODE *next_node;
};

如果兩個結構體互相包含,則需要對其中一個結構體進行不完整聲明,如下所示:[1]
struct B;
//對結構體B進行不完整聲明
//結構體A中包含指向結構體B的指針
struct A{
struct B *partner;
//other members;
};
//結構體B中包含指向結構體A的指針,在A聲明完後,B也隨之進行聲明
struct B{
struct A *partner;
//other members;};

結構體作用
結構體和其他類型基礎數據類型一樣,例如int類型,char類型 只不過結構體可以做成你想要的數據類型。以方便日後的使用。[1]
在實際項目中,結構體是大量存在的。研發人員常使用結構體來封裝一些屬性來組成新的類型。由於C語言內部程序比較簡單,研發人員通常使用結構體創造新的「屬性」,其目的是簡化運算。[1]
結構體在函數中的作用不是簡便,其最主要的作用就是封裝。封裝的好處就是可以再次利用。讓使用者不必關心這個是什麼,只要根據定義使用就可以了。[1]
結構體的大小與內存對齊
結構體的大小不是結構體元素單純相加就行的,因為我們主流的計算機使用的都是32bit字長的CPU,對這類型的CPU取4個位元組的數要比取一個位元組要高效,也更方便。所以在結構體中每個成員的首地址都是4的整數倍的話,取數據元素時就會相對更高效,這就是內存對齊的由來。每個特定平台上的編譯器都有自己的默認「對齊系數」(也叫對齊模數)。程序員可以通過預編譯命令#pragma pack(n),n=1,2,4,8,16來改變這一系數,其中的n就是你要指定的「對齊系數」。[1]
規則:
1、數據成員對齊規則:結構(struct)(或聯合(union))的數據成員,第一個數據成員放在offset為0的地方,以後每個數據成員的對齊按照#pragma pack指定的數值和這個數據成員自身長度中,比較小的那個進行。[1]
2、結構(或聯合)的整體對齊規則:在數據成員完成各自對齊之後,結構(或聯合)本身也要進行對齊,對齊將按照#pragma pack指定的數值和結構(或聯合)最大數據成員長度中,比較小的那個進行。[1]
3、結合1、2可推斷:當#pragma pack的n值等於或超過所有數據成員長度的時候,這個n值的大小將不產生任何效果。

㈢ 求c++課程設計的源代碼

題目本身不難;題目的陳述,這個文本本身難以卒讀!
很難想像文本出自,華南理工大學教師之手;抄襲+生吞活剝的英翻中??

㈣ 請問一下,這是一個一個C語言的課程設計的總代碼,求大神給一張大致的流程圖。小弟謝了

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

char num[10][6] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };

int parse(char * input)//就3中操作數 要麼是+號,要麼是=號 要麼是要運算的數據【英文標示的】

{

int i = 0; int match = 0;

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

{

match = strcmp(input, num[i]);//比較用戶輸入和 num數組中的值 比如 three 是第3個元素, 輸入three 剛好能返回3

if (match == 0) return i;

}

return -1;

}//+,=返回-1 數據返回對應的十進制數

struct TStack //棧的結構體定義

{

int data;

struct TStack * next;

};

struct TStack * root = 0; //全局變數,棧的根節點

void stack_push(int data)//元素入棧

{

struct TStack * x = (struct TStack *)malloc(sizeof(struct TStack)); //實例化一個節點

x->data = data; //給節點賦值

x->next = root; //新節點指向根

root = x; //根從新賦值為根 保證跟都指向最後一個元素

}

int stack_pop(int * data) //彈出棧頂元素 並用data返回 ,棧非空返回1 否則返回0

{

struct TStack * x = root; //x=跟節點

if (!x) return 0;//如果棧為空就返回0

root = x->next ; //出棧後 棧頂指針下移

*data = x->data ;//用data返回棧頂元素的值

free(x);//釋放棧頂元素的內存空間

return 1;//返回操作成功

}

int SumFromStack(void)//把棧內所有的英文數據換成一個十進制數據。

{

int x = 0, y = 0, z = 0, sum = 0;

int tens[] = {1, 10, 100, 1000, 10000};

do

{

x = stack_pop(&y);// y得到棧頂元素,x為返回狀態

if (x == 0) break;//棧中元素為空,就退出

sum += y * tens[z++]; //sum 用來得到一個操作數 例如 three five =35

}while(z < 5); /*最大計算到五位數*/

return sum;

}

void print(int C) //給定一個數值 返回對應的英文形式 如: 256-->two five sxi

{

char str[256]=""; size_t i = 0;

sprintf(str, "%d", C);//c的%d形式存到str中 比如 C=258 那麼 str[0]='2',str[1]='5',str[2]='8'

for (i = 0; i < strlen(str); i++)

printf("%s ", num[str[i] - '0']);//根據字元與『0』的距離 列印出數字對應的num中的字元串。

printf("\n");

}

int main(void)

{

char str[256] = ""; int A = 0, B = 0, x = 0;//A,B用來記錄2個要加的數的十進制 x 用來記錄輸入的是數據還是+,=號

do

{

A = 0; B = 0; root = 0; x = 0;

for(;;)

{

str[0] = 0;

scanf("%s", str);//獲取字元串的輸入

x = parse(str);//根據輸入的字元串轉換成對應進制數

if (x < 0 )//parse 返回-1 有可能是+號,有可能是=號

{

if (str[0] == '+') A = SumFromStack();//遇到+號,那麼肯定+左邊的數據全入棧,可以用A得到一個翻譯成十進制的運算數

if (str[0] == '=')

{

B = SumFromStack();// 遇到=號那麼肯定第二個家數也全部入棧了,B得到一個翻譯成10進制的元算數據

break;

}

}

else //否則是運算數據那麼就入棧

{

stack_push(x);

}

}

if (A || B) print(A + B);//如果A,B不同時為0,那麼用print函數列印A+B對應的 特殊編碼字元 如234->tow three four

}while(A || B);//一旦A,B同時為0 就退出

system("pause");

return 0;

}

流程圖中寫出了詳細的函數調用和程序思路。

樓主如果不給出程序的話,我自己動手寫還方便點。人家的代碼看著蛋疼。好在他的思路還是清晰好理解的。 流程圖附下,樓主趕緊去准備課程設計吧。

【樓主好好珍惜啊,注釋也是一句一句寫的,流程圖一個一個在visio裡面話的,看著你是真的想學東西,所以我弄的很詳細。不是為了你的分數來的,而是我對程序的 興趣】

㈤ JAVA課程設計源代碼

關鍵是你給的分太少了。。 親 。。

課程設計 多浩大的一個工程了 。。。 就給5分。。

這樣一個課設最少得做2天吧。。。

㈥ 嵌入式Linux課程設計源代碼

Linux課程體系了解一下:
Linux雲計算網路管理實戰
Linux系統管理及服務配置實戰
Linux Shell自動化運維編程實戰
Linux雲計算網路管理實戰

大型網站高並發架構及自動化運維項目
網站安全滲透測試及性能調優項目實戰
公有雲運維技術項目實戰
企業私有雲架構及運維實戰
Python自動化運維開發基礎
Python自動化運維開發項目實戰

㈦ java課程設計源代碼(急!!!!)

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
import javax.swing.border.LineBorder;

public class game21 extends JFrame {
private JLabel label_2;
private int number;
private int sum;
final JLabel label = new JLabel();
final JLabel label_1 = new JLabel();

public static void main(String[] args) {
new game21();
}

public game21() {
super("21點?!");
getContentPane().setLayout(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JButton button = new JButton();
button.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent arg0) {
onClick();
}
});
button.setText("出牌");
button.setBounds(170, 350, 106, 28);
getContentPane().add(button);
label.setBorder(new LineBorder(Color.black, 1, false));
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setFont(new Font("", Font.BOLD, 26));
label.setText("背面");
label.setBounds(158, 81, 137, 153);
getContentPane().add(label);

label_1.setText("你已經擁有的牌:");
label_1.setBounds(109, 22, 270, 45);
getContentPane().add(label_1);
this.setBounds(200, 300, 501, 528);
this.setVisible(true);
getContentPane().add(getLabel_2());
}

public int randNumber() {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
return (int) (Math.random() * 10 + 1);
}

public void onClick() {
number = this.randNumber();
this.sum += number;
label.setText("" + number);
String strTemp = this.label_1.getText();
strTemp += "" + number + " ";
label_1.setText(strTemp);
String temp = "合計:" + sum;
label_2.setText(temp);
isWin();
}

public void isWin() {
if (sum > 21) {
JOptionPane.showMessageDialog(this, "你輸了");
clear();
return;
} else if (sum == 21) {
JOptionPane.showMessageDialog(this, "你贏了");
clear();
return;
} else {
int i = JOptionPane.showOptionDialog(this, "是否繼續?", "提示",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE, null, null, null);
if (i == JOptionPane.OK_OPTION) {
onClick();
} else
return;
}
}

private void clear() {
label_2.setText("合計:");
sum = 0;
number = 0;
label_1.setText("你已經擁有的牌:");
}

/**
* @return
*/
protected JLabel getLabel_2() {
if (label_2 == null) {
label_2 = new JLabel();
label_2.setText("合計:");
label_2.setBounds(313, 35, 66, 18);
}
return label_2;
}

}
真好無聊中。。

㈧ 求 c++課程設計源代碼

這些都有包括課程設計,程序源碼+設計報告。

第四章詳細設計

#include "fstream"
#include "iostream"
#include "cstring"
using namespace std;
/************************學生信息定義**********************************/
typedef struct Stu
{ char name[8];
char num[6];
char room[5];
}Stu;
typedef struct{
Stu *elem;
int length;
}Snode;
/*****************************學生信息處理及用戶交互****************/
int Init_Stu(Snode &st); //創建學生信息
int Sort_Stu(Snode &st,int low,int high); //快速排序演算法
int Search_Stu(Snode st, char sn[]); //學生姓名二分查找並輸出
void s(Stu &s1,Stu s2); //結構體s2賦給s1
int display(Snode st); //學生數據輸出
void SavePass(); //密碼問題
int quanxian(); //管理員登陸
/*******************************主函數程序****************************/
int main()
{ int suc=0;
char ch1,choice,look[10];
Snode stu;
while(suc==0)
{ suc=quanxian();
if(suc==0)
{ cerr<<"您輸入的用戶信息不存在,請重新輸入:"<<endl<<"退出輸入'y'或 'Y',否則'n'或'N':"<<endl<<endl;
cin>>ch1;
if(ch1=='y'||ch1=='Y')
return 0;
}
cout<<endl<<endl<<endl<<endl;
}
cout<<"\t\t****\n\n\t\t\t 歡迎進入學生宿舍管理查詢系統 \n\n\t\t****\n\n";
cout<<"\t\t\t***************主菜單***************\n\n";
cout<<"\t\t\t\t1> 學生信息錄入\n\n";

㈨ 微機原理課程設計代碼

CODE SEGMENT
ASSUME CS:CODE
START: PUSH CS
POP DS
MOV CX,8
PUSH CX
@0:
MOV AL,0
MOV CX,10
@1:
PUSH AX
MOV AX,18
CALL DELAY_PROC
POP AX
MOV DL,AL
MOV AH,2
OR DL,30H
INT 21H
INC AL
LOOP @1
POP CX
LOOP @0
MOV AH,4CH
INT 21H

DELAY_PROC PROC NEAR ;延遲子程式, 延遲 ax/18秒
PUSH ES
PUSH DX
MOV DX,40H
MOV ES,DX
MOV DX,ES:[006CH] ;取系統1/18秒計數
ADD DX,AX ; 延時 x/18
DELAY10:
CMP ES:[006CH],DX ;時限到了?
JBE DELAY10 ;沒
POP DX
POP ES
RET
DELAY_PROC ENDP
CODE ENDS
END START

㈩ 求C語言課程設計的源代碼

課程設計報告內容 報告應包括以下內容: 摘要(300~400字) 目錄 1. 概述 2. 課程設計任務及要求 2.1 設計任務 2.2 設計要求 3. 理論設計 3.1方案論證 3.2 系統設計 3.2.1 結構框圖及說明 3.2.2 系統原理圖及工作原理 3.3 單元電路設計 3.3.1單元電路工作原理

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919