#include <stdio.h>
#include <string.h>
#include <windows.h>
struct student
{
long int num
char name[20]
int age
char sex[4]
char b[30]
char p[15]
}
int n=0
struct student stu[100]
struct student *p
void lr()
void ll()
void cx()
void xg()
void sc()
void main()
{
int z
printf("+---------------------------+n")
printf("| 欢迎使用学生信息管理系统 |n")
printf("+---------------------------+n")
printf("提示:为保证您的操作得到保存,请按正常顺序退出系统^_^n")
do
{
printf("nttt--------------------------------n")
printf("ttt+主菜单|n")
printf("ttt--------------------------------n")
printf("ttt+[1]----录入学生信息 |n")
printf("ttt+[2]----浏览学生信息 |n")
printf("ttt+[3]----查询学生信息 |n")
printf("ttt+[4]----删除学生信息 |n")
printf("ttt+[5]----修改学生信息 |n")
printf("ttt+[0]----退出系统 |n")
printf("ttt--------------------------------n")
printf("请输入您的选择:")
scanf("%d", &z)
system("color 2f")
switch(z)
{
case 0 :break
case 1 :lr()break
case 2 :ll()break
case 3 :cx()break
case 4 :sc()break
case 5 :xg()break
default:printf("n无效选项!")
}
}
while(z!= 0)
}
void lr()
{
int y
if(n==0)
p=stu
do
{
printf("--------------------n")
printf("请输入学生的学号:")
scanf("%ld",&p->num)
printf("请输入学生的姓名:")
scanf("%s",p->name)
printf("请输入学生的年龄:")
scanf("%d",&p->age)
printf("请输入学生的性别:")
scanf("%s",p->sex)
printf("请输入学生的地址:")
scanf("%s",p->b)
printf("请输入学生的电话:")
scanf("%s",p->p)
n++
p++
printf("n1.继续输入.n0.输入完毕.n")
printf("请选择:")
scanf("%d",&y)
}
while(y==1)
printf("提示:输入完毕!你一共输入%d个n",n)
}
void ll()
{
int i,j
if(n!=0)
{ printf("学生总数:%dn", n)
printf("学号t姓名t年龄t性别t地址tt电话n")
printf("-----------------------------------------------------n")
for(i=0i<ni++)
printf("%ldt%st%dt%st%stt%sn",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p)
}
else printf("提示:无学生数据,请输入数据!")
}
void cx()
{
int c
int w,i,j=0
char name[20]
if(n!=0)
{
do{printf("n")
printf("+--------------------+n")
printf("| 按学号查询 请按 1 |n")
printf("| 按姓名查询 请按 2 |n")
printf("| 取消请按 0 |n")
printf("+--------------------+n")
printf("请输入您的选择:")
scanf("%d", &c)
switch(c)
{
case 0:break
case 1:
printf("请输入学生的学号")
scanf("%ld", &w)
printf("n")
for(i=0i<ni++)
if(stu[i].num==w)
{
printf("n学号t姓名t年龄t性别t地址tt电话n")
printf("%ldt%st%dt%st%stt%sn",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p)
j=1
}
if(j==0)
printf("提示:没有该学生记录,请核对!")
break
case 2:
printf("请输入学生的姓名:")
scanf("%s", name)
printf("n")
for(i=0i<ni++)
if(strcmp(name,stu[i].name)==0)
{
printf("n学号t姓名t年龄t性别t地址tt电话n")
j=1
printf("%ldt%st%dt%st%stt%sn",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p)
}
if(j==0)
printf("提示:没有该学生记录,请核对!")
break
default:
printf("n提示:无效选项!")
break
}
}while(c!= 0)
}else printf("提示:无学生数据,请输入数据!")
return
}
void xg()
{
long int num
int i,j,c
if(n!=0)
{
printf("请输入您要修改的学生的学号:")
scanf("%ld", &num)
printf("n")
for(i=0i<ni++)
if(stu[i].num==num)
j=i
do{
printf("请选择您要修改的学生的信息内容:n")
printf("+----------------------+n")
printf("| 姓名 请按 1 |n")
printf("| 年龄 请按 2 |n")
printf("| 性别 请按 3 |n")
printf("| 学号 请按 4 |n")
printf("| 地址 请按 5 |n")
printf("| 电话 请按 6 |n")
printf("| 取消 请按 0 |n")
printf("+----------------------+n")
printf("请输入您的选择:")
scanf("%d", &c)
printf("n")
switch(c)
{
case 0:break
case 1:printf("请输入新姓名:")
scanf("%s",stu[j].name)
break
case 2:printf("请输入新年龄:")
scanf("%d",&stu[j].age)
break
case 3:printf("请输入新性别:")
scanf("%s",stu[j].sex)
break
case 4:printf("请输入新学号:")
scanf("%ld",&stu[j].num)
break
case 5:printf("请输入新地址:")
scanf("%s",stu[j].b)
break
case 6:printf("请输入新电话:")
scanf("%s",stu[j].p)
break
default:
printf("n无效选项!")
break
}
}while(c!= 0)
}else printf("提示:无学生数据,请输入数据!")
}
void sc()
{
long int num
int i,j,e
if(n!=0)
{
printf("学号t姓名t年龄t性别t地址tt电话n")
printf("-----------------------------------------------------n")
for(i=0i<ni++)
printf("%ldt%st%dt%st%stt%sn",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p)
printf("请输入您要删除的学生的学号:")
scanf("%ld", &num)
printf("n")
for(i=0i<ni++)
if(num==stu[i].num)
j=i
if(j!=(n-1))
{
for(e=i-1e<ne++,j++)
{
stu[j].num=stu[j+1].num
strcpy(stu[j].name,stu[j+1].name)
strcpy(stu[j].sex,stu[j+1].sex)
stu[j].age=stu[j+1].age
strcpy(stu[j].b,stu[j+1].b)
strcpy(stu[j].p,stu[j+1].p)
n--p--
}
}else {n--p--}
printf("提示:删除完毕!")
}elseprintf("提示:无学生数据,请输入数据!")
}
这是我用来交作业的程序.虽然不是自己写的.传上来再说了.
等我自己的可以用了.再传...
package jettang
import java.lang.*
import java.awt.*
import java.awt.event.*
import javax.swing.*
import java.sql.*
//////////////////////////////////////////////
//主类
public class STU {
public STU() {
try {
jbInit()
} catch (Exception ex) {
ex.printStackTrace()
}
}
public static void main(String args[]) {
new Frm_Main()
}
private void jbInit() throws Exception {
}
}
//主框架,数据库
class Frm_Main implements ActionListener { //throws IOException
public static final int EXIT_ON_CLOSE = 0
public Jframe frame
public Container c
public JMenuBar menuBar
public JMenu mainMenu1
public JMenu mainMenu2
public JMenu mainMenu3
public JMenuItem subMenu1[] = new JMenuItem[5]
public JMenuItem subMenu2[] = new JMenuItem[7]
public JMenuItem subMenu3[] = new JMenuItem[2]
JButton toolBarButton[] = new JButton[8]
public JToolBar toolBar
//////////////////////////////////////////////
String strTip[] = {"姓名查询...", "添加信息...",
"删除...", "修改...", "修改确认...",
"添加确认...", "删除确认...", "关于产品信息:)"}
//////////////////////////////////////////////
// String id = new String()
String name = new String()
String sex = new String()
String age = new String()
String classid = new String()
String department = new String()
String call = new String()
//////////////////////////////////////////////
Connection con
ResultSet rs
Statement st
// ResultSetmetaData rsmd
// Vector columnHeads=new Vector()
// Vector rows = new Vector()
// Vector currentRow=new Vector()
///////////////////////////////////////////////
public JLabel classidL = new JLabel("班级")
public JLabel nameL = new JLabel("姓名")
public JLabel sexL = new JLabel("性别")
public JLabel ageL = new JLabel("年龄")
public JLabel departmentL = new JLabel("单位")
public JLabel callL = new JLabel("电话")
public JLabel tittleLabel = new JLabel()
//////////////////////////////////////////////
public JTextField classidT = new JTextField()
public JTextField nameT = new JTextField()
public JTextField sexT = new JTextField()
public JTextField ageT = new JTextField()
public JTextField departmentT = new JTextField()
public JTextField callT = new JTextField()
public Jtextarea textT = new Jtextarea()
//////////////////////////////////////////////
//////////////////////////////////////////////
public Frm_Main() {
/////////////////////////////////////////////////
frame = new Jframe("学籍管理系统V1.0")
c = frame.getContentPane()
c.setLayout(null)
menuBar = new JMenuBar()
toolBar = new JToolBar()
toolBar.setFloatable(false)
frame.setJMenuBar(menuBar)
frame.setResizable(false)
////////////////////////////////////////////////
mainMenu1 = new JMenu("管理")
String str1[] = {"添加", "删除", "查询", " ", "关闭"}
for (int i = 0i <5i++) {
if (i == 3) {
mainMenu1.addSeparator()
} else {
subMenu1[i] = new JMenuItem(str1[i])
subMenu1[i].addActionListener(this)
mainMenu1.add(subMenu1[i])
}
}
menuBar.add(mainMenu1)
/////////////////////////////////////////////////
mainMenu2 = new JMenu("操作")
String str2[] = {"查询", "添加", "删除", "修改",
"提交修改", "提交添加", "提交删除"}
for (int i = 0i <7i++) {
subMenu2[i] = new JMenuItem(str2[i])
subMenu2[i].addActionListener(this)
mainMenu2.add(subMenu2[i])
}
menuBar.add(mainMenu2)
/////////////////////////////////////////////////
mainMenu3 = new JMenu("集体查询")
String str3[] = {"按班级...", "按单位..."}
for (int i = 0i <2i++) {
subMenu3[i] = new JMenuItem(str3[i])
subMenu3[i].addActionListener(this)
mainMenu3.add(subMenu3[i])
}
menuBar.add(mainMenu3)
////////////////////////////////////////////////
String strToolBar[] = {"查询", "添加", "删除", "修改", "提交修改",
"提交添加", "提交删除", "关于"}
for (int i = 0i <8i++) {
toolBarButton[i] = new JButton(strToolBar[i])
toolBarButton[i].setToolTipText(strTip[i])
toolBarButton[i].addActionListener(this)
toolBar.add(toolBarButton[i])
}
toolBar.setLocation(0, 0)
toolBar.setSize(400, 30)
c.add(toolBar)
////////////////////////////////////////////////
classidL.setLocation(35, 40)
classidL.setSize(40, 20)
//classidL.setFont(new Font("",Font.BOLD,12))
c.add(classidL)
classidT.setLocation(90, 40)
classidT.setSize(200, 20)
//classidT.setEnabled(false)
c.add(classidT)
nameL.setLocation(35, 70)
nameL.setSize(40, 20)
c.add(nameL)
nameT.setLocation(90, 70)
nameT.setSize(200, 20)
c.add(nameT)
sexL.setLocation(35, 100)
sexL.setSize(40, 20)
c.add(sexL)
sexT.setLocation(90, 100)
sexT.setSize(200, 20)
c.add(sexT)
ageL.setLocation(35, 130)
ageL.setSize(40, 20)
c.add(ageL)
ageT.setLocation(90, 130)
ageT.setSize(200, 20)
c.add(ageT)
departmentL.setLocation(35, 160)
departmentL.setSize(40, 20)
c.add(departmentL)
departmentT.setLocation(90, 160)
departmentT.setSize(200, 20)
c.add(departmentT)
callL.setLocation(35, 190)
callL.setSize(40, 20)
c.add(callL)
callT.setLocation(90, 190)
callT.setSize(200, 20)
c.add(callT)
/////////////////////////////////////////////////
tittleLabel.setText("----------集体查询结果--------")
tittleLabel.setSize(300, 20)
tittleLabel.setLocation(10, 210)
c.add(tittleLabel)
////////////////////////////////////////////
textT.setSize(400, 300)
textT.setLocation(10, 240)
c.add(textT, 14)
///////////////////////////////////////////////
frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE)
frame.setSize(500, 650)
frame.setLocation(200, 200)
frame.setVisible(true)
conDB()
}
//以上是框架设计
//JDBC
public void conDB() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "数据库错误")
}
try {
con = DriverManager.getConnection("jdbc:odbc:jettang", "sa", "")
st = con.createStatement()
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "数据库连接失败")
}
}
//关闭连接
public void closeDB() {
try {
st.close()
con.close()
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "数据库关闭失败")
}
}
//事件响应
public void actionPerformed(ActionEvent e) {
//////////////////////////////////////////////
if (e.getSource() == toolBarButton[7]) {
JOptionPane.showMessageDialog(null, "当前版本1.0,designed by qyq &wxm")
}
/////////////////////////////////////////////查询(按姓名)
if (e.getSource() == subMenu2[0] || e.getSource() == toolBarButton[0] ||
e.getSource() == subMenu1[2]) {
String idid = JOptionPane.showInputDialog("请输入学生姓名")
if (idid.trim() != "") {
String strSQL = "select * from stuinfo where name ='" + idid +
"'"
try {
rs = st.executeQuery(strSQL)
int count = 0
while (rs.next()) {
classid = rs.getString("classid")
name = rs.getString("name")
department = rs.getString("department")
sex = rs.getString("sex")
age = rs.getString("age")
call = rs.getString("call")
++count
}
if (count == 0) {
JOptionPane.showMessageDialog(null, "无此信息")
} else {
classidT.setText(classid)
nameT.setText(name)
sexT.setText(sex)
ageT.setText(age)
callT.setText(call)
departmentT.setText(department)
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "查询失败")
}
}
}
/////////////////////////////////////////////关闭
if (e.getSource() == subMenu1[4]) {
frame.dispose()
closeDB()
}
/////////////////////////////////////////////添加
if (e.getSource() == subMenu1[0] || e.getSource() == subMenu2[1] ||
e.getSource() == toolBarButton[1]) {
JOptionPane.showMessageDialog(null, "请输入你添加的信息再点击提交添加键")
classidT.setEnabled(true)
classidT.setText("")
nameT.setText("")
sexT.setText("")
ageT.setText("")
callT.setText("")
departmentT.setText("")
}
/////////////////////////////////////////////提交添加
if (e.getSource() == toolBarButton[5] || e.getSource() == subMenu2[5]) {
if ((classidT.getText().trim()).equals("") ||
(nameT.getText().trim()).equals("") ||
(sexT.getText().trim()).equals("") ||
(ageT.getText().trim()).equals("") ||
(callT.getText().trim()).equals("") ||
(departmentT.getText().trim()).equals("")) {
JOptionPane.showMessageDialog(null, "请先点击添加键")
} else {
classid = classidT.getText()
name = nameT.getText()
sex = sexT.getText()
age = ageT.getText()
call = callT.getText()
department = departmentT.getText()
String strSQL =
"insert into stuinfo(classid,name,sex,age,call,department) values('" +
classid + "','" +
name + "','" + sex + "','" + age + "','" + call + "','" +
department + "')"
try {
st.executeUpdate(strSQL)
} catch (Exception exx) {
JOptionPane.showMessageDialog(null, "添加失败")
return
}
JOptionPane.showMessageDialog(null, "添加成功")
classidT.setText("")
nameT.setText("")
sexT.setText("")
ageT.setText("")
callT.setText("")
departmentT.setText("")
}
}
////////////////////////////////////////////提交修改
if (e.getSource() == subMenu2[4] || e.getSource() == toolBarButton[4]) {
if ((classidT.getText().trim()).equals("") ||
(nameT.getText().trim()).equals("") ||
(sexT.getText().trim()).equals("")
|| (ageT.getText().trim()).equals("") ||
(callT.getText().trim()).equals("") ||
(departmentT.getText().trim()).equals("")) {
JOptionPane.showMessageDialog(null, "请先点击修改键")
return
} else {
classid = classidT.getText()
name = nameT.getText()
sex = sexT.getText()
age = ageT.getText()
call = callT.getText()
department = departmentT.getText()
String strSQL = "update stuinfo set classid='" + classid +
"',sex='" + sex + "',age='" + age + "',call='" +
call + "',department='" + department + "'" +
"where name='" + name + "'"
try {
st.executeUpdate(strSQL)
} catch (Exception exx) {
JOptionPane.showMessageDialog(null, "修改失败")
return
}
JOptionPane.showMessageDialog(null, "修改成功")
classidT.setText("")
nameT.setText("")
sexT.setText("")
ageT.setText("")
callT.setText("")
departmentT.setText("")
}
}
///////////////////////////////////////////////修改
if (e.getSource() == subMenu2[3] || e.getSource() == toolBarButton[3]) {
String idid = JOptionPane.showInputDialog
("请输入你要修改的学生姓名后点击提交修改键确认")
if (idid.trim() != "") {
String strSQL = "select * from stuinfo where name ='" + idid +
"'"
try {
rs = st.executeQuery(strSQL)
int count = 0
while (rs.next()) {
classid = rs.getString("classid")
name = rs.getString("name")
department = rs.getString("department")
sex = rs.getString("sex")
age = rs.getString("age")
call = rs.getString("call")
++count
}
if (count == 0) {
JOptionPane.showMessageDialog(null, "无此信息")
} else {
classidT.setText(classid)
nameT.setText(name)
sexT.setText(sex)
ageT.setText(age)
callT.setText(call)
departmentT.setText(department)
classidT.setEnabled(false)
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "修改失败")
}
}
}
/////////////////////////////////////////////////删除
if (e.getSource() == subMenu2[2] || e.getSource() == toolBarButton[2] ||
e.getSource() == subMenu1[1]) {
String idDel = JOptionPane.showInputDialog
("请输入要删除的学生姓名后点击提交删除键确认")
if (idDel.trim() != "") {
String strSQL = "select * from stuinfo where name ='" + idDel +
"'"
try {
rs = st.executeQuery(strSQL)
int count = 0
while (rs.next()) {
classid = rs.getString("classid")
name = rs.getString("name")
department = rs.getString("department")
sex = rs.getString("sex")
age = rs.getString("age")
call = rs.getString("call")
++count
}
if (count == 0) {
JOptionPane.showMessageDialog(null, "无此信息")
} else {
classidT.setText(classid)
nameT.setText(name)
sexT.setText(sex)
ageT.setText(age)
callT.setText(call)
departmentT.setText(department)
classidT.setEnabled(false)
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "删除失败")
}
}
}
//////////////////////////////////////////////////提交删除
if (e.getSource() == toolBarButton[6] ||
e.getSource() == subMenu2[6]) {
if ((classidT.getText().trim()).equals("") ||
(nameT.getText().trim()).equals("") ||
(sexT.getText().trim()).equals("") ||
(ageT.getText().trim()).equals("") ||
(callT.getText().trim()).equals("") ||
(departmentT.getText().trim()).equals("")) {
JOptionPane.showMessageDialog(null, "请先点击删除键")
return
} else {
name = nameT.getText()
String strSQL = "delete from stuinfo where name='" + name +
"'"
try {
st.executeUpdate(strSQL)
} catch (Exception exx) {
JOptionPane.showMessageDialog(null, "删除失败")
return
}
JOptionPane.showMessageDialog(null, "删除成功")
classidT.setText("")
nameT.setText("")
sexT.setText("")
ageT.setText("")
callT.setText("")
departmentT.setText("")
}
}
//////////////////////////////////////////////集体查询(按班级)
if (e.getSource() == subMenu3[0]) {
classidT.setText("")
nameT.setText("")
sexT.setText("")
ageT.setText("")
callT.setText("")
departmentT.setText("")
if ((classidT.getText().trim()).equals("")) {
String idclass = JOptionPane.showInputDialog("请输入班级")
String strSQL = "select * from stuinfo where classid='" +
idclass +
"'"
try {
rs = st.executeQuery(strSQL)
displayres(rs)
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "查询失败")
}
} else {
String idclass = classidT.getText()
String strSQL = "select * from stuinfo where classid='" +
idclass +
"'"
try {
rs = st.executeQuery(strSQL)
displayres(rs)
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "查询失败")
}
}
}
////////////////////////////按单位
if (e.getSource() == subMenu3[1]) {
classidT.setText("")
nameT.setText("")
sexT.setText("")
ageT.setText("")
callT.setText("")
departmentT.setText("")
if ((departmentT.getText().trim()).equals("")) {
String idclass = JOptionPane.showInputDialog("请输入单位")
String strSQL = "select * from stuinfo where department='" +
idclass +
"'"
try {
rs = st.executeQuery(strSQL)
displayres(rs)
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "查询失败")
}
} else {
String idclass = departmentT.getText()
String strSQL = "select * from stuinfo where department='" +
idclass +
"'"
try {
rs = st.executeQuery(strSQL)
displayres(rs)
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "查询失败")
}
}
}
}
public void displayres(ResultSet rs1) throws SQLException {
//定位到达第一条记录
boolean moreRecords = rs1.next()
//如果没有记录,则提示一条消息
if (!moreRecords) {
JOptionPane.showMessageDialog(null, "无此记录")
return
}
try {
//获取数据
getNextRow(rs1)
//刷新Table
c.validate()
}
catch (SQLException sqlex) {
sqlex.printStackTrace()
}
}
public void getNextRow(ResultSet rs2) throws
SQLException {
int count = 1
while (rs2.next()) {
name = " 姓名:" + rs2.getString(1)
age = " 年龄:" + rs2.getString(2) + " 单位:"
department = rs2.getString(3) + "n"
textT.append(count + "." + name + age + department)
count++
}
}
}
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct stud //学生信息结构
{
long num
char name[20]
float score
}Stud
typedef struct node
{
Stud student
struct node *next
}Node
Node *head=NULL
void read(void)
void inser(long b)
void print()
void find(long b)
void searchname(char *s)
Node * del(long n)
void sort(int flag)
void menu()
void main()
{
char choose
int flag=1
while (flag)
{
menu()//调用功能菜单函数,显示菜单项。
printf(" 请选择:")
choose=getchar()
switch(choose)
{ 1
case '1': read()//调用建立链表的函数;输出链表信息;
print()
printf("nPress any key Continue ")
//getchar()
getchar()
break
case '2': //调用按学号查找学生信息的函数;并输出查找结果信息;
long c
printf("input the number you want to find:")
scanf("%ld",&c)
find(c)
printf("nPress any key Continue.")
getchar()
break
case '3':
//调用按姓名查找学生信息的函数;并输出查找结果信息;
char s[20]
printf("input the name you want to find:")
scanf("%s",s)
searchname(s)
printf("n Press any key Continue.")
getchar()
getchar()
break
case '4':
//调用根据学号删除某个学生信息的函数;并输出删除后的链表信息;
Node *h
long n
printf("input the number you want to delete:")
scanf("%ld",&n)
h=del(n)
if(h==NULL) printf("No find the student n")
else print()
printf("n Press any key Continue.")
getchar()
getchar()
break
case '5':
//调用插入新的学生信息的函数;并输出插入后的链表信息;
long a
printf("input the number for the new:n")
scanf("%ld",&a)
inser(a)2
print()
printf("n Press any key Continue.")
getchar()
getchar()
break
case '6':
//调用按分数降序排序输出的函数;并输出排序后的链表信息;
sort(1)
print()
sort(0)
printf("nPress any key Continue.")
getchar()
getchar()
break
case '0':
//结束程序运行!
flag=0
printf("n *** The End! ***n")
break
default: printf("n Wrong Selection !(选择错误,重选)n")
getchar()
}
}
}
void menu() //综合作业功能菜单
{
printf(" n 学 生 信 息 管 理 系 统n")
printf(" n 菜 单nn")
printf(" n 1. 建 立 链 表 并 显 示 n")
printf(" n 2. 查 找 某 学 号 的 学 生 信 息 n")
printf(" n 3. 查 找 某 姓 名 的 学 生 信 息 n")
printf(" n 4. 删 除 某 个 学 号 的 学 生n")
printf(" n 5. 插 入 新 的 学 生 信 息 n")
printf(" n 6. 按 分 数 降 序 排 序 输 出 n")
printf(" n 0. 退 出nn")
}
void read(void)
{
long a
printf("input the number:")
scanf("%ld",&a)
while(a>0){ 3
inser(a)
printf("input the number:")
scanf("%ld",&a)
}
}
void inser(long b)
{
Node *last,*current,*p
current=head
while(current!=NULL&&b>current->student.num){
last=current
current=current->next
}
if(current==NULL||b<current->student.num){
printf("input the name,score:")
p=(Node *)malloc(sizeof(Node))
p->student.num=b
scanf("%s%f",p->student.name,&p->student.score)
p->next=NULL
if(current==head){
p->next=head
head=p
}
else{
p->next=current
last->next=p
}
}
else if(b==current->student.num)
printf("error input a different number:")
}
void print()
{
Node *p=head
printf("学号 姓名 成绩:n")
while(p!=NULL){
printf("%ld %s %fn",p->student.num,p->student.name,p->student.score)
p=p->next
} 4
printf("n")
}
void find(long b)
{
Node *p=head
while(p!=NULL&&b!=p->student.num)
p=p->next
if(!p) printf("No foundn")
else {
printf("学号 姓名 成绩n")
printf("%ld %s %fn",p->student.num,p->student.name,p->student.score)
}
}
void searchname(char *s)
{
Node *p=head
int flag=0
printf("学号 姓名 成绩:n")
while(p!=NULL)
{
if(strcmp(p->student.name,s)==0)
{
printf("%ld %s %fn",p->student.num,p->student.name,p->student.score)
flag=1
p=p->next
continue
}
else p=p->next
}
if(!flag) printf("No find")
}
Node * del(long n)
{
Node *p=head,*last
while(p->student.num!=n){
last=p
p=p->next
}
if(p==NULL) return p
else if(p==head) head=p->next
else last->next=p->next5
return head
}
void sort(int flag)
{
Node *p1,*p2,*k
float t1
long t2
char s[20]
for(p1=headp1->nextp1=p1->next)
{
k=p1
for(p2=p1->nextp2p2=p2->next)
if(flag==1&&k->student.score<p2->student.score||!flag&&k->student.num>p2->student.num)
k=p2
if(k!=p1){
t1=p1->student.score
p1->student.score=k->student.score
k->student.score=t1
t2=p1->student.num
p1->student.num=k->student.num
k->student.num=t2
strcpy(s,p1->student.name)
strcpy(p1->student.name,k->student.name)
strcpy(k->student.name,s)
}
}
}
给你看看
以上就是关于跪求c语言教务管理系统源代码全部的内容,如果了解更多相关内容,可以关注醉学网,你们的支持是我们更新的动力!