eeprom saving valuse

Hi Iam trying to save valuse on the eeprom, I read about the eeprom ,can not find why it does not save the vauses,I made this sketch ,what do I do wrong. On the serial monitor I read

100 correct
200 correct
44 wrong
144 wrong
244 wrong
88 wrong
2 wrong

#include <EEPROM.h> 



void setup() {
 Serial.begin( 9600 );

int addr1=0;
int addr2=1;
int addr3=2;
int addr4=3;
int addr5=4;
int addr6=5;
int addr7=6;
int addr8=7;

int value1=100;
int value2=200;
int value3=300;
int value4=400;
int value5=500;
int value6=600;
int value7=700;
int value8=800;





EEPROM.put(addr1,value1);
EEPROM.put(addr2,value2);
EEPROM.put(addr3,value3);
EEPROM.put(addr4,value4);
EEPROM.put(addr5,value5);
EEPROM.put(addr6,value6);

Serial.println(EEPROM.read( addr1 ));
Serial.println(EEPROM.read( addr2));
Serial.println(EEPROM.read( addr3 ));
Serial.println(EEPROM.read( addr4 ));
Serial.println(EEPROM.read( addr5 ));
Serial.println(EEPROM.read( addr6));
Serial.println(EEPROM.read( addr7 ));





}

void loop() {


}

(deleted)

JOHN_1973:

int value1=100;

int value2=200;
int value3=300;
int value4=400;
int value5=500;
int value6=600;
int value7=700;
int value8=800;

Depending on which Arduino board you're using, an int is either 2 or 4 bytes. But you are only allocating a 1 byte cell to store each value:

JOHN_1973:

int addr1=0;

int addr2=1;
int addr3=2;
int addr4=3;
int addr5=4;
int addr6=5;
int addr7=6;
int addr8=7;

So each value you write to the EEPROM overwrites part of the previous data.

You can fix this by allocating enough space for each value. This could be done programmatically by using sizeof().