object c 学生信息管理系统

原创 2013年12月02日 20:50:19

//  main.m
//  StuMIS

#import <Foundation/Foundation.h>
#import "Student.h"
#import "StuMIS.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {
     printf("欢迎进入学生信息管理系统\n");
     printf("pk国际2013,@copyright2013-2014\n\n");
        char c;
        StuMIS * sm=[[StuMIS alloc]init];
        while (YES) {
            printf("\n1 添加学生");
            printf("\n2 打印所有学生");
            printf("\n3 删除学生");
            printf("\n4 查找学生");
            printf("\n5 修改学生");
            printf("\n6 保存学生");
            printf("\n7 读取学生");
            printf("\n8 退出");
            scanf(" %c",&c);
            switch (c) {
                case '1':
                {Student * tmp=[[Student alloc]init];
                [tmp inputStudent];
                [sm addNewStu:tmp];
                }
                    break;
                case '2':
                    [sm printAllstu];
                    break;
                case '3':
                { int num;
                  printf("\n请输入学号");
                  scanf(" %d",&num);

                  [sm deleteStu:num];
                }
                    break;
                case '4':
                {int num;
                    printf("\n请输入学号");
                    scanf(" %d",&num);
                    Student * tmp;
                    tmp=[sm findStu:num];
                    [tmp printInfo];
                }
                    break;
                case '5':
                {   int num;
                    printf("\n请输入学号");
                    scanf(" %d",&num);
                    Student * tmp;
                    tmp=[sm findStu:num];
                    [tmp inputStudent];
                }
                    break;
                case '6':
                    [sm saveStu];
                    break;
                case '7':
                    [sm readStu];
                    break;
                case '8':
                    return 0;
                    break;
                default:
                    break;
            }
       
        }
   
    }
    return 0;
}
//
//  Student.h
//  StuMIS

#import <Foundation/Foundation.h>

@interface Student : NSObject<NSCoding>
{   NSString * name;
    int number;
    int age;
    int score;
}
@property NSString * name;
@property int number;
@property int age;
@property int score;
-(void)inputStudent;
-(void)printInfo;
-(void)modify:(Student *) stu;
@end

//  Student.m
#import "Student.h"

@implementation Student
@synthesize name;
@synthesize number;
@synthesize age;
@synthesize score;
//输入学生信息
-(void)inputStudent{
    printf("\n请输入学号 姓名 年龄 成绩\n");
    char nam[20];
    scanf("%d %s %d %d",&number,nam,&age,&score);
    name=[NSString stringWithFormat:@"%s",nam];
}
//打印学生信息
-(void)printInfo{
    printf("\n学号%d 姓名%s 年龄%d 成绩%d",number,[name UTF8String],age,score);
   
}
//修改信息
-(void)modify:(Student *) stu{
    self.name=stu.name;
    self.age=stu.age;
    self.score=stu.score;
}

-(void)encodeWithCoder:(NSCoder *)aCoder
{   [aCoder encodeInt:number forKey:@"number"];
    [aCoder encodeInt:age forKey:@"age"];
    [aCoder encodeObject:name forKey:@"name"];
    [aCoder encodeInt:score forKey:@"score"];
}
-(id)initWithCoder:(NSCoder *)aDecoder
{
    if (self=[super init]) {
        self.number=[aDecoder decodeIntForKey:@"number"];
        self.age=[aDecoder decodeIntForKey:@"age"];
        self.name=[aDecoder decodeObjectForKey:@"name"];
        self.score=[aDecoder decodeIntForKey:@"score"];
        } 
        return self;
}
@end
//
//  StuMIS.h
//  StuMIS

#import <Foundation/Foundation.h>
#import "Student.h"
@interface StuMIS : NSObject
{
    NSMutableArray * allStu;//保存所有学生
}
-(id)init;
-(void)addNewStu:(Student *)stu;
-(void)printAllstu;
-(Student *)findStu:(int)num;
-(void)deleteStu:(int)num;
-(void)saveStu;
-(void)readStu;
@end
//
//  StuMIS.m

#import "StuMIS.h"
@implementation StuMIS
//初始化
-(id)init{
 if(self=[super init])
 {
 allStu=[[NSMutableArray alloc]init];
 }else
 {
 return nil;
 }
    return self;
}
//添加学生信息
-(void)addNewStu:(Student *)stu{
    [allStu addObject:stu];
}
//打印所有学生信息
-(void)printAllstu{
    for(int i=0;i<[allStu count];i++)
    { Student * nows=[allStu objectAtIndex:i];
        [nows printInfo];
    }
}
//按学号查找学生信息
-(Student *)findStu:(int)num{
    for(int i=0;i<[allStu count];i++)
        { Student * nows=[allStu objectAtIndex:i];
            if(nows.number==num){
                return nows;
            }
        }
    return nil;
}
//删除学生信息
-(void)deleteStu:(int)num{
    for(int i=0;i<[allStu count];i++)
        { Student * nows=[allStu objectAtIndex:i];
            if(nows.number==num){
                [allStu removeObjectAtIndex:i];
                return;
            }
        }

}
//保存学生信息
-(void)saveStu{
    NSData *data1=[[NSData alloc]init];
    data1=[NSKeyedArchiver archivedDataWithRootObject:allStu];
    [data1 writeToFile:@"//Users//huangzhidong//Desktop//stud.txt" atomically:YES];
    NSLog(@"保存成功");
}
//读取学生信息
-(void)readStu{
    [allStu removeAllObjects];
     NSData *data2=[NSData dataWithContentsOfFile:@"//Users//huangzhidong//Desktop//stud.txt"];
NSArray *a=[NSKeyedUnarchiver unarchiveObjectWithData:data2];
    [allStu addObjectsFromArray:a];
   
        NSLog(@"读取成功");
}
@end

相关文章推荐

MFC和ACCESS数据库的连接(C_Answers团队开发学生信息管理系统所用)

1.通常在应用类(APP类)中进行数据库的连接。(不在dialog类中,,因为要在出现对话框前已经建立好数据库的连接) 第一步:数据库操作准备 1)导入ADO动态链接库。。在stdafx....

学生信息管理系统(unix下用c对mysql进行操作)

学生信息管理系统,用c在unix下直接对数据库进行操作的版本。 头文件需要加上mysql.h,编译命令参见http://blog.csdn.net/martinue/article/details/...

C小项目 —— 学生信息管理系统

C小项目 —— 学生信息管理系统 实现功能: 1. 录入学生信息 2. 显示所有学生信息 3. 按学号查询学生信息 4. 按姓名查询学生信息(支持模糊查询) 5. 按年龄查询学生信息 6...

学生信息管理系统(C实现)

头文件 1 #ifndef __SIMS__ 2 #define __SIMS__ 3 #include 4 #include 5 #includestring.h> 6 ...

LINUX下的C学生信息管理系统

第一次写,难免会有些紧张 /*  软件1304 王京博     版本号 V0.9     时间 2014.6.24*/ #include #include #include #inc...

linux下c/c++实例之十五简单的学生信息管理系统

一、简介        大学期间用vc++开发的简单的学生信息管理系统,主要有添加学生信息、删除学生信息、修改学生信息、查询学生信息、显示学生信息、综合统计(各课程平均成绩和合格率)、总分排序和退出系...

[C] 结构体测试程序 -- 学生信息管理系统

1. 菜单功能 2. 添加学生信息功能 3. 学生姓名列表 4. 所有学生详细列表功能 5. 按姓名查找功能 6. 按年龄查找功能 7. 按姓别查找功能 8. 按身高查找功能 9. 删...

通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统?

1.从文件操作角度分析:从键盘接收一个字符串然后显示是 #include int main() {   char a[10];   scanf("%s",&a);   printf("%s...

通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统

一.题目:由学生系统改编成酒店管理系统 二.源代码: #include"stdio.h" #include"stdlib.h" #include"string.h" #include"con...

学生信息管理系统(C编写)

  • 2015年06月23日 18:45
  • 14KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:object c 学生信息管理系统
举报原因:
原因补充:

(最多只允许输入30个字)